elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Página de elhacker.net en Google+ Google+


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 35
51  Programación / Programación Visual Basic / Re: ¿Existe versión más actualizada de VB6? en: 10 Mayo 2017, 21:43
VB6, sigue siendo bastante bueno pese a sus limitaciones. Después de todo, ahora que los equipos son mucho más potentes, las aplicaciones realizadas con VB6, corren muy rápido (si uno sabe que hace, por supuesto) y ocupan poco espacio en disco y no saturan memoria (comparado con NET, por ejemplo).

De todos modos existe Gambas, un lenguaje similar (ellos aseguran que no es un clon, creo que más para no entrar en la ansiedad por las exigencias de: "...pués en VB6 esto se comporta así, y no como sucede aquí...").
Tiene una implicación directa de Java, lo mismo que VB6, lo tiene de C... Nunca lo he usado, pero aseguran que tiene una evolución más allá de VB6. No sé si se refieren a que como parte del entorno Linux, pués tiran de bases de datos MySQL, en dez de SQL-Server o Access, Open-GL, en vez de DirectX... etc... o si se refieren a otra cosa...
Desconozco, por completo si han implementado algo similar a ActiveX, y por tanto si se podrá crear controles de usuario, y tal...

En fin si quieres hecharle un vistazo: https://es.wikipedia.org/wiki/Gambas o en inglés: https://en.wikipedia.org/wiki/Gambas
Adicionalmente un foro en español: https://www.gambas-es.org/
52  Foros Generales / Noticias / Re: Devorando la Red: 'App' china desafía a WhatsApp, Facebook, Instagram, Skype,... en: 10 Mayo 2017, 17:43
Cómo se puede decir... para que no resulte ofensivo... bueno, a la M13RD4, si se ofenden...

Alguien mínimamente crítico, va a confiar en un programa chino, que maneje dinero (cuentas bancarias, tarjetas)????.
Si hoy día chino, es casi sinónimo de mafioso y clonador... Probablemente China, sea el país con más hackers del mundo (y seguramente la mayoría a sueldo del gobierno).
53  Foros Generales / Foro Libre / Re: Pyongyang prepara ataque electromagnético espacial contra EEUU en: 10 Mayo 2017, 17:37
Supongamos que Corea tiene capacidad de fabricar, impulsar y explotar con precisión el arma...  entonces a lo más que se puede llegar a dilucidar (si no es ininteligible y se habla sandeces), es que lo que querrían hacer sería atacar determinados satélites de EE.UU. porque hablar genéricamente de 'atacar a EE.UU.', carece de sentido...

Si estalla en el espacio, no veo ninguna forma de que 'atauqe' a EE.UU. si no a todo el planeta... si quiere atacar a EE.UU. debe detonarlo en tierras de EE.UU. ...o eso, o están creando sus propios cómics de ciencia ficción, para niños...
54  Programación / .NET / Re: matriz mutidimensional--txt en: 10 Mayo 2017, 17:20
tengo un txt. el txt me viene así, 0002254866villaruel garcia paco blablabla   blablabla.
he tenido que meter los datos a una matriz b. Para darle un formato correcto.
0002254866  villaruel garcia paco bla     blabla     blabla  bla.

la matriz quedaría algo asi b(i,200) = i filas, 200 columnas.

a cosa es que ahora me gustaría escribir todas las filas(i) en otro txt distinto al que tengo... y no se como hacerlo.
Bien, entonces tenías un fichero sin formato en el mismo, pero con un formato no implícito y (supongo que por claridad a la hora de consultarlo) ahora quieres guardar todos los datos de nuevo a otro fichero, pero manteniendo algún tipo de formato, ¿es así?.

Luego señalas que son 200 columnas... pero viendo el código que has puesto más abajo (salvo que hayas omitido parte por extensión), solo tienes 34 columnas (Navarra_101 hasta Navarra_134), tampoco es que corresponda al número de caracteres de cada línea, pués la última apunta al carácter 357 ( ...c0.Navarra_134_Nota) = linea.Substring(353, 357))

Ya te digo que si quieres escribir toda las 'i', estarás escribiendo todas las filas, es decir todo el contenido... salvo que estés refiriendo a escribir todas las filas para una determinada columna.

El código que tienes es una ensalada de cardo borriquero, le falta un toque para pasarlo de procedimental a objetos y proveer métodos acorde a lo que quieras hacer...

Ahora tengo que salir, a la noche si me has respondido (aclarado el punto que te señalo más arriba), te oriento...
55  Programación / Scripting / Re: Duda POO en: 8 Mayo 2017, 16:58
Ten en cuenta que la herencia está más enfocada a la reutilización de código. Una interfaz se vale del mecanismo del paradigma de la POO, llamado Polimorfismo, cuyo objetivo principal es tener un comportamiento diferente, para los mismos métodos. El polimorfismo, no deja de ser una herencia, pero si no es bien entendido se desaprovecha su potencial, y bien entendido se hace herencias más sencillas y útiles.
56  Programación / .NET / Re: matriz mutidimensional--txt en: 8 Mayo 2017, 16:49
Cuesta entenderte, de hecho ni siquiera estoy seguro de haberlo logrado...

Veamos, dices tener unos datos en un fichero txt y que estos están desordenados...
Qués es lo que está desordenados, los valores o los datos?.
por ejemplo:
valores desordenados:
144, 211, 083, 015, 202, 099
ordenados:
015, 083, 099, 144, 202, 211
-----------------------------------

datos desordenados:
13, 35, Juan Valdivia, 13856721, Perú, calle Sol;
06834965, 42, Calle de los álamos, Mejico, 156, Diego Centella
ordenados:
Nombre, edad, ciudad, calle, número, identificador;
Juan Valdivia, 35, Perú, Calle Sol, 13, 13856721
Diego Centella, 42, Méjico, Calle de los álamos, 156, 06834965
---------------------------------

Un array multidimensional, en realidad puede considerarse como un array unidimensional... con el añadido de que el acceso está 'cordinado' bajo un diseño específico.
Así un array como Array(0-9, 0-99, 0-1), tiene un tamaño de:
10*100*2=2000 (* número de bytes que ocupe el tipo de datos que almacena, si el tipo es un objeto, lo que se guarda ahí entonces es la dirección al objeto).
...y si imprimes la dirección donde se guardan los datos (basta el primero y  el último), verás que todos ellos están consecutivos en memoria.

Una forma fácil es forzar entonces la escritura a disco partiendo de la dirección del contenido en memoria es muy rápido, pero tiene sus pegas.. no todos los lenguajes habilitan de forma fácil el acceso a la dirección (desafortunadamente las funciones ptr... no son contempladas como pertenecientes a objetos, así pueden encontrarse en  clases de tipo Marshaling) la otra limitación es que si el array contiene objetos, tampoco sería util porque estarías guardando las direcciones de los objetos, no el dato (por ejemplo si son cadenas de texto), en resumen valdría solo para datos numéricos y buleanos.

De todos modos como no queda claro, en qué consiste ese orden que le quieres dar a los datos y el inespecífico "medida de las columnas dle array" (no sé si quieres señalar el tamaño de las dimensiones del array o si te refieres al ancho de las columnas de por ejemplo un control de tipo "Grid"...

Tampoco aclaras de qué lenguaje se trata, así que aventurando digamos de forma genérica que los objetos Streamwriter, StringWriter, StreamBuffer, etc... son adecuados para esos menesteres suelen tener métodos llamados Open para abrir un canal de escritura y Writebytes (con múltiples sobrecargas) para escribir los datos...
Y siempre puedes crear tus propios métodos, según el tipo de datos y hacerlo de forma un poco más manual recorriendo tu mismo el array y así escribiendo lo que te parezca y en el orden que prefieras... Para ello recurre a clases en el espacio IO que tienen métodos Write, para tipos de datos genéricos.
57  Programación / Scripting / Re: Duda POO en: 8 Mayo 2017, 04:10
Lo que describes es lo que se llama una interfaz.

Una interfaz, recoge por lo general solo los nombres de los métodos que contiene el objeto... (la firma, sin contener código en su interior).
Luego hay que implementar la interfaz. Cada clase que implementa una interfaz hereda pues todos sus miembros, pero al implmenetarlos, cada uno puede hacerlo de forma distinta (incluso algunos pueden tener el mismo código para determinados métodos).

Si hay un comportamiento por defecto, para uno o varios métodos, entonces ese comportamiento puede estar descrito (escrito el código), en la propia interfaz y desde la clase que la implementa, si no tiene un comportamiento distinto a la de la interfaz (el comportamiento por defecto), entonces para ese método se invoca a la interfaz).
... pero ojo, la interfaz no debe retener métodos privados, ya que si no serían sobrescritos por clases diferentes y no sería algo deseable (cuando es deseable suele ser en casos en los que actúa como un servidor y admite que diferentes 'componentes' (objetos), puedan modificarlo y los demás puedan aceptarlo (pero esto es algo muy distinto a lo que tú buscas)).

Código:
Interfaz Planta

enumeracion TipoDehojas  
   Perenne=0
   Caducifolio=1
fin enumeración

propiedad Nombre
Propiedad Raiz  ' valor fijo para propiedad...
   Raiz = True
fin propiedad
propiedad Hojas(modelo como TipoDehojas))
propiedad Fruto
propiedad Tallo
propiedad FechaDeRecoleccion
método Madurar(CantidadFrutos)
método Floracion(Cantidad, Color)
método Recolectar( P como Planta, fechaActual) como buleano
   Si p.FechaDeRecoleccion >= fechaActual luego
       Mostrar mensaje "Ha llegado la hora de recolectar."
       Devolver cierto
   fin si ' devuelve falso   
fin metodo
 
' si hubiera métodos privados, las clases que implementen la interfaz, no requieren implementarlos... o si los necesita puedne llamarse de forma diferente y contener parámetros distintos.


---------------------------------
Código:
Clase Amapola implementa Planta

miembro privado _TipoDehojas como TipoDeHojas
miembro privado _FechaDeRecoleccion numero

propiedad Nombre
   Devolver "Amapola"
fin propiedad
propiedad Raiz   'ejemplo que delega en algo por defecto.
   Devolver Planta.Raiz
fin propiedad

' Nota que por simplicidad se ha puesto propiedad x... como representación de lo que corresponda: lectura y escritura/solo lectura/ solo escritura)
' Aquí se representaría Write y Read de la propiedad Hojas
propiedad HojasW(modelo como TipoDehojas)
    _tipoDehoja=modelo
fin propiedad
propiedad HojasR como TipoDehojas
    devolver _TipoDeHojas
fin propiedad

propiedad Fruto....
...
...
...
propiedad FechaDeRecoleccion
     devolver _FechaDeRecoleccion
fin propiedad

método Madurar(CantidadFrutos)
....
fin metodo
método Floracion(Cantidad, Color)
    llamar AumentarFlores(Cantidad)
    llamar CambiarColores(Color)
Fin método
método Recolectar( P como Planta, fechaActual) como buleano ' método por defecto...
    llamar Planta.Recolectar(Esta Amapola, FechaActual)
fin metodo


metodo privado AumentarFlores(cantidad)
...
fin metodo
metodo privado CambiarColor(Color)
...
fin metodo



Otra planta, podría tener una floración diferente, pero en cambio la propiedad Hojas  no tenga diferente contenido de la anterior pero cada cual debe guardar ese dato sobre sí mismo... La propiedad Raiz, sobre todas tendrán raíz, pero es un modo dever como se delega en la interfaz cuando algo es común. Algunos lenguajes no permiten a un interfaz nada más que definir su composición, no admitiendo código alguno.
Quizás en vez de implementar directamente una planta u otra, si uno va a implementar 8pongamos) cientos de plantas, es seguro que mucha funcionalidad va ser equivalente en un muchas plantas, entonces es cuendo se puedne implementar sólo determinadas ramas de plantas (por ejemplo acuáticas, cereales, legumbres, tuberculo, arbol, etc...) y luego las diferencias entre las diferentes plantas heredarlas de la clase padre.... (por ejemplo: trigo, centeno, maíz, heredarla de la clase cereal, que podría mantener una característica 'espigas' que en la interfaz podría ser algo más abstracto, partiendo de la propiedad Fruto, que podría ser una enumeración desde "no tiene" hasta el resto "grano de espiga", "grano de vaina", "fruta fresca", "fruto seco", etc...
58  Foros Generales / Dudas Generales / Re: Dudas generales: sistemas operativos y procesadores en: 8 Mayo 2017, 03:25
1. No sé si es en el proceso de fabricación (que supongo que es allí), qué es lo que hace; qué material o las dimensiones, no sé; qué es lo que hace que una memoria RAM o una unidad USB sea solo de 2 GB o de 4 GB o de 32 GB, ¿qué es aquello que lo limita? Supongo que tiene que haber algo que limite la capacidad, quizás sea usar más un material en el proceso de fabricación u otra cosa, pero ¿qué es?
El límite práctico. Lo que es práctico, es algo relacionado:
- Factores humanos: decisiones empresariales, costos de fabricación y precios de venta y unidades vendidas, actualidad de esa tecnología de la competencia.
- Factores técnicos: consumo energético, calor que genera, escala de fabricación (miniaturización del sistema), tamaño actual de los buses de los procesadores donde se montará dicha memoria.

2. Cuando se escribe un sistema operativo (supongo que esta pregunta va para personas más experimentadas) que es lo primero (en específico) que se empieza escribiendo, ¿acerca de qué?, o sea, porque uno puede decir: "tienes que escribir el bootloader o el kernel", pero esas son ideas muy generales, me imagino que uno sigue más o menos un patrón al momento de escribir un bootloader o un kernel, ¿qué es lo primero o lo esencial que se empieza escribiendo al momento de realizar un sistema operativo?
Lo primero que se escribe es lo que te dé la gana. Un S.O. es un programa y como cualquier programa puedes empezar a escribirlo por donde quieras. Habitualmente, se tiene un diseño previo y realmente varios equipos/personas acometen diferentes partes al mismo tiempo.
Ahora quizás lo que quisieras preguntar, es qué parte del S.O. es la primera que empieza a operar, cuando el BIOS le transfiere el control...

3. No sé si han oído acerca de la máquina Watson de IBM (pura inteligencia artificial), dicen que los que lo hicieron (el grupo que trabajo en eso de IBM) almacenaron toda la información en la memoria RAM porque tenían que tener un acceso mucho más veloz a la información (y hasta ahora lo mantienen así), ¿eso quiere decir que hacen funcionar a la memoria RAM como un disco duro? ¿Es muy difícil hacer eso llevándolo a la programación (en el caso de que yo quisiera hacerlo y contara con un número amplio de memorias RAM y procesadores) en bajo nivel, que si en el lenguaje C o Ensamblador?.
La diferencia entre la memoria RAM y una unidad de almacenamiento:
- La más importante es que la RAM funciona a una alta velocidad (son circuitos electrónicos, también igual que el procesador y se compone de las mismas unidades básicas... "puertas" AND, OR, NOT, XOR, estas a su vez son diseños específicos hechos (hoy día) con transistores, antes se hacían con diodos (y más antiguamente con válvulas, que son equivalentes). Un diodo, es una especie de 'grifo' (entra un cable y sale un cable) que deja pasar la corriente en un sentido pero no en otro, juntando dos diodos, se forman los transistores (tienen tres cables llamados Base, emisor y colector), la forma en que se unan dan lugar a diferente tipos de transistores los basicos:  NPN, PNP.... No sólo los hay para hacer las puertas, también los hay para rectificarla corriente...
- La unidad de almacenamiento, su mayor cualidad respecto de la RAM, es que cuando el suministro eléctrico se corta, retiene los datos, en la RAM se borran... La RAM, se parece a la pizarra de una escuela, cuando finaliza la materia se borra la pizarra, para que el siguiente profesor imparta su materia y escriba en la pizarra (su tema). La forma de almacenamiento ha pasado por varias fases desde las tarjeta s perforadas (cartones que tenían agujeritos o no en filas y columnas, agujeros, no agujeros representaban el sistema binario). Se pasó luego a las cintas magnéticas (las viejas cintas de casette, las menos viejas VHS, etc... seguían usando la misma tecnología. Básicamente son cintas de plástico muy fino, impreganadas de material ferroso... controladas por el cabezal de escritura, que orientaba mediante una corriente eléctrica los átomos de metal...). Los discos duros, son también herederos de esa tecnología (es decir también son magnéticos y recurren a un cabezal de escritura). Los CDs, DVDs, etc... en cambio utilizan un sistema algo distinto, usan huecos (como un socavón en la calle) físicos en el material, realizados por un láser... un cabezal de lectura, luego lee si hay socavón o no, para saber el valor del bit. Estos medios de almacenamiento se llaman ópticos, ya que el son sistemas ópticos los encargados de la lectura y escritura.
Hoy día, con los sistemas de almacenamiento electrónicos, usan sistemas basads en "memorias flash", que son una evolución de las memorias EEPROM, que son una memoria ROM regrabable... Las ROM, como tales son meorias de UNA única escritura, surgieron las ROM de múltiples lecturas (PROM= Programable ROM), EEPROM: PROM electricamente 'erasable' (borrable), que a su vez  es antecedida por la EPROM =PROM Erasable... Para borrarlas, se recurría a una luz ultravioleta, incidiendo sobre una ventanita de cuarzo que estaba en el chip...
ROM: PROM -> EPROM -> EEPROM. Aclarar que la ROM, sigue siendo ROM, la evolución de la ROM, para reprogramarse, ha dado alfinal con la tecnología de las memorias que ahora pueden almacenar datos de forma permanente (se supone permanente a un período de varios años, sin recibir corriente externa, incluso de hasta 20 y más años (datos teorícos de los fabricantes, posiblemente nadie lo haya probado)).



4. Esta pregunta la verdad me ha tenido pensativo hace tiempo, ¿como es que hacían en lo tiempos cuando no habían unidades USB, saben cuando las empresas terminaban de fabricar los procesadores, ya ahí todos sabemos que pueden reconocer entre sí o no, etc, etc, pero, cómo es que hacían para introducirle el código fuente de un sistema operativo (UNIX por ejemplo) sin tener ninguna interfaz para escribirlo, me imagino que antes de crear un editor de texto tuvieron que escribirlo para que el procesador lo creara en una interfaz y así pudiera programar desde ahí, pero como hicieron para crear eso antes? ¿Como le introducían el código fuente al procesador sin ninguna interfaz que te permitiera escribirlo como ahora, sin tener IDE ni nada?
Al comeinzo todo era eléctrico, y como te decía se usaban tajetas perforadas, pero antes de eso, los datos e metían a mano en la memoria de un modo similar a como usamos hoy día el teclado (pero metiendo datos binarios), las tarjetas perforadas eran una mejora, porque suponía más velocidad de acceso (no había que esperar a escribirlo todo para pulsar el botón de 'Run', para hacertte una idea de esto imaginate un montaje eléctrico de iluminación, montas varias bombillas y solo entonces presionas el interruptor, hora imagina que las bombillas representaran '1' y '0', basta tener dos circuitos uno para encender una bombilla y otro para apagarlo).
De hecho las puertas OR, AND, NOT, XOR, NAND (not AND), NOR (not OR) y NEXOR (not XOR), se pueden reproducir con bombillas, unos cables y unos interruptores, incluso con grifos, tuberías y llaves de paso).
Cuando se diseña un nuevo sistema, ya porta una ROM, esa es la clave... la ROM es un programa (o varios, aunque en general son pequeñas rutinas específicas para cosas específicas y muy determinadas y recurrentes, del tipo: Si recibe corriente la patilla S1, generar una interupción hardware para transferir el control al dispositvo conectado al puerto 1 (la patila S1, podría representar que se ha conectado un dispositvo externo, y que ha enviado corriente eléctrica por es apatilla, que entonce sla ROM, debe interpretar que debe cederle el control... sn pequeñas tareas, que debes imaginarte, como un pequeño restaurante que dispone de varias mesas, que sucede cuando llegaunos clientes y se sientan en sus sillas, viene el camarero y les toma pedido, y envía el pedido al cocinero y al que está tras la barra (o la sirve él mismo), ...imaginate la cascada de sucesos en forma de pequeñas tareas y condicionantes).

Una vez que se enciende un equipo, el primer 'chisme' en operar es la ROM, cuando recibe energía tiene una rutina de chequeo y autocontrol (igual que el procesador), luego una rutina de chequeo del hardware conectado (memoria y su tamaño, etc..). aunque hablamos de un procesador d eforma genérica, al comienzo erna varios procesadores... uno tenía tareas encomendadas de comunicación, otro de sincronización, otro de control de la memoria, etc...
En las ROM de un PC, se supone que esperan una memoria RAM, un dispositivo de entrada de datos (como teclado, ratón, lápiz óptico),un dispositivo de salida de datos, como un monitor, o un micrófono, o simplemente luces leds y no necesariamente un dispositivo de almacenamiento masivo, aunque hoy día no concebimos un equipo sin ello... de hecho los primeros ordenadores (domesticos), recurrían a las simples cintas de casette como memoria externa, y era eterno esperar a que cargaran un simple programa de unos kb. (los profesionales también recurrían a ciontas magnéticas, pero mucho más veloces y muchísimo más grandes, similares a las cintas de las películas de celuloide de los cines).

En realidad no has buscado bien, hay infinidad de información recogido sobre todos estos temas, otra cosa es que no sepas buscarlo... Si de verdad te interesa todo esto en profundidad, lo mejor que puedes hacer es cojerte un libro viejo de informática, en los nuevos se prescinde de todo , en dos páginas ya han hablado de pasada (o directamente omitido) y ya te hablan de lo último, como si todo el mundo supiera con perfecta claridad como ha sido el devenir de la informática...
59  Foros Generales / Noticias / Re: El ordenador que dura 25 días encendido con una sola carga en: 8 Mayo 2017, 02:12
"La batería en reposo"... es lo mismo que decir que una tarta dura tal cual 1000 años si nadie se la come... si nadie se la va a comer, para qué carajos, hacerla?.

Que hablen de cifras en funcionamiento, tampoco es que sea preciso que exploten todo el hardware, bastan datos de uso normal... por último recordar, que es en balnco y negro, por si alguien no ha caído en cuenta (de la tinta electrónica).

Sin duda será útil, para alguien que escriba y lea mucho (y nada más).
60  Foros Generales / Noticias / Re: Lo que deberías eliminar de tu Facebook ahora mismo en: 8 Mayo 2017, 02:05
Engel lex, hay unas imágenes debajo de ese texto, al pulsarla se pone en marcha una animación y se gira la imagen, en el reverso aparece un texto descriptivo...

De forma inmediata me surgió la misma duda que a ti... tardé unos segundos en darme cuenta... (no hay un mensaje explícito que lo indique: "pulsa en las siguientes imágenes, una a una")
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 35
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines