Historias
Slashboxes
Comentarios
 

Login Barrapunto

Login

[ Crear nueva cuenta ]

pezezin (11919)

pezezin
  {pezezin64} {at} {yahoo.es}
http://barrapunto.com/
Yahoo! ID: pezezin64 (Add User, Send Message)
Jabber: pezezin@bulmalug.net

Nací en 1985. A los 9 años aprendí a programar en Qbasic, y a partir de ahí todo ha sido cuesta abajo. Luego vinieron Pascal, C, C++, Visual Basic, ensamblador, Matlab, VHDL, Java, Haskell, Prolog, Lisp, y más lenguajes de los que puedo recordar. Por otro lado, con 16 años empecé a jugar al rol, condenándome irremediablemente a una vida de frikismo ;)

Down Kill Up Publicidad

Bitácora de pezezin (11919)

Viernes, 17 de Noviembre 2006

Diseñando hardware

11:39h.
Hardware
Pues al final me compré un kit con una FPGA, concretamente el Spartan 3E Starter Kit. Está bastante bien, trae todo tipo de conexiones: RS-232, VGA, Ethernet, PS/2, 4 DAC's de 12 bits, 2 ADC, etc. Lo único malo es que la salida VGA es de 1 bit por canal, pero no es nada que no se arregle con unas cuantas resistencias.

Me ha abierto las puertas a un nuevo mundo. Siempre había tenido un cierto interés por la electrónica y el hardware, pero nunca me había animado a hacer nada complejo, pero ahora puedo experimentar sin problemas.

Y es que no es lo mismo diseñar un procesador en papel y suponer que, si lo implementases funcionaría, que sintetizarlo y ver que efectivamente funciona. La satisfacción que sentí cuando me funcionó por primera vez el controlador gráfico que he escrito fue enorme.

Y lo mejor de todo: para diseñar hardware no hay que aprender a manejar los 800.000 frameworks web de moda :D
Martes, 17 de Octubre 2006

Comprar una FPGA

09:10h.
Tecnología
Pues eso, que después de varios años pensándolo, y aprovechando que ahora tengo dinero ahorrado, he decidido comprar una FPGA. ¿Alguien sabe donde conseguir estas cosas en España? Todos los distribuidores que he visto funcionan al por mayor, y yo lo que quiero es una tienda virtual en la que pueda elegir el producto que quiero y listo. Otra opción es pedirlo directamente al fabricante (Xilinx tiene productos interesantes), pero eso significa que me lo tendrían que mandar de USA. ¿Alguna sugerencia?
Lunes, 25 de Septiembre 2006

Juego online (III)

12:15h.
Juegos
Sigo con la aventura de intentar desarrollar un juego online. De momento no llevo gran cosa aparte de la estructura de la base de datos. ¿Por cierto, alguien conoce algún buen programa para hacer diagramas E/R en Linux?

El caso es que en este tiempo (un año ya), he probado diversas tecnologías y diferentes enfoques, que, aunque no me han llevado a nada funcional, por lo menos me han servido para poder valorar cada opción:

  • En primer lugar probé a escribir un cliente dedicado, con su correspondiente servidor y protocolo, en Python+OpenGL. No fue sencillo, pero es capaz de manejar 5000 estrellas con total soltura. El problema es que yo por entonces no tenía ni idea de bases de datos, y al intentar implementarlo yo a pelo...
  • Tiempo después, sabiendo manejar un poco PostgreSQL y FastCGI, me animé a hacerlo vía web. Funcionaba, pero el HTML resultante era "voluminoso". Por muy bueno que sea un navegador, cuando le mandas una página de 1 mega, se atasca.
  • Como ahora está de moda, decidí probar con AJAX. ¿Para qué generar el HTML en el servidor si puedes mandar los datos en bruto al cliente y que él haga el trabajo? Lo malo es que lo que ahorras en ancho de banda lo gastas en procesador, y no digo nada si metes animaciones... Al final, empecé a odiar Javascript.
  • Por último, viendo que el HTML no era lo más adecuado para lo que yo quería hacer, decidí probar con OpenLaszlo, que permite hacer páginas en Flash. Queda más bonito, pero gasta todavía más recursos (el servidor utiliza servlets).


Conclusión: voy a escribir un cliente dedicado, probablemente en D, y que le (censurado) a las aplicaciones web.
Sábado, 16 de Septiembre 2006

Juego online (II)

10:53h.
Juegos
Hace tiempo comenté que quería desarrollar un MMORTS (juego de estrategia en tiempo real multijugador masivo) en plan Ogame, pero mejor. En principio iba a usar un cliente dedicado, pero por simplificar un poco el proyecto al final decidí hacerlo vía web.

En la hora en que se me ocurrió. Ahora mismo tengo un taco infumable de Javascript que no hay por donde cogerlo. He seguido todos los estándares posibles, y aún así sólo funciona en Opera. El famoso AJAX me está dando más dolores de cabeza de los que resuelve, y en cuanto se me ocurre meterle muchos "sprites" a la página, el navegador se come el procesador y va lentísimo.

Me estoy planteando seriamente el volver a la idea del cliente dedicado, o al menos hacerlo en Flash (¿quizás con OpenLaszlo?).

Por cierto, ¿alguien conoce algún alojamiento decente que ofrezca PostgreSQL y no te cobren un riñón?
Domingo, 06 de Agosto 2006

Juego online (I)

06:15h.
Juegos
Recuerdo que el año pasado por estas fechas, muchos de por aquí estábamos enganchados al Ogame. Nos pasábamos horas y teníamos nuestra propia alianza. Pero lo fuimos dejando... ¿Alguien sabe qué pasó con la AGB? ¿Alguno sigue jugando?

El caso es que algunos hablamos de crear nuestro propio juego. Mucho se habló, pero al final el único que ha programado algo he sido yo. De momento no llevo mucho, pero ya se pueden crear cuentas de usuario, y enviar naves para explorar la galaxia, por lo que he decidido publicarlo para que lo veais. Se aceptan comentarios, sugerencias, y contribuciones de código :D

Versión alfa.
Miércoles, 26 de Abril 2006

Odio C++

09:53h.
Tecnología
Este año nos han mandado escribir un mini-intérprete de SQL, usan Lex, Yacc y C++. Lex y Yacc son dos grandes herramientas, "algo" complicadas de usar, pero ahorran bastante trabajo. Pero C++... cuanto más lo uso, menos me gusta.

Es un coñazo gestionar manualmente la memoria dinámica. La recolección de basura se inventó hace varias décadas, y por favor, que no me venga ningún super-gurú a decirme que la gestión manual es mucho mejor. Por suerte, el Valgrind es muy útil para detectar fugas de memoria, pero aún así hay algunas casi imposibles de corregir.

En cuanto a la STL, es a la vez una bendición y un castigo. Una bendición porque proporciona muchísimas funciones, clases y contenedores, que de otra manera sería una pesadilla escribir a mano. Un castigo porque abusa de las templates, y cualquier pequeña equivocación en el código resulta en un informe de error por parte del compilador de dos páginas, absolutamente ininteligle. No quiero ni imaginarme lo que tiene que ser Boost.

En fin, lástima que los compiladores de D estén tan verdes...
Domingo, 09 de Octubre 2005

Mi disco duro ha muerto

10:21h.
Hardware
A principios de año me compré un disco duro Serial ATA. Iba perfectamente, era rápido y no daba problemas... hasta el jueves. Al encender el ordenador, no arrancaba, daba problemas de lectura y sectores defectuosos por todas partes.

Después de mucho probar y gracias a algunos programas, he conseguido sacar los datos que tenía en la partición de Windows (FAT32) más o menos enteros, pero con la de Linux (XFS) no hay manera. He probado a volcar la partición en un archivo y ejecutar xfs_repair, pero después de un buen rato buscando, me dice que no encuentra el superbloque y se para. ¿Alguien conoce alguna herramienta para este tipo de situaciones?
Miércoles, 07 de Septiembre 2005

El evangelio de Tux

07:20h.
Humor
Bueno, lo primero decir que me he comprado esto. Los que hayáis jugado al rol, sabréis que los dados de cien caras son como los billetes de 500, todo el mundo ha oído hablar de ellos pero nadie ha visto uno. Yo por fin he conseguido uno, he alcanzado el Nirvana :P

Ahora a lo que iba, este texto me lo encontré hace mucho tiempo en algún sitio cuyo nombre no recuerdo, y como me hizo gracia, lo guardé. No ponía el nombre del autor. En fin, ahí va:

El evangelio de Tux (versión 1.0)

En el principio Turing creó la Máquina.

Y la Máquina era enrevesada y artificiosa, existiendo solamente en teoría. Y Von Neuman miró hacia la Máquina, y vió que era enrevesada. Él dividió la máquina en dos Abstracciones, el Dato y el Código, y los dos eran una misma Arquitectura. Este es un gran Misterio, y el principio de la sabiduría. Y von Neumann habló a la Arquitectura, y la bendijo diciendo: "Sal y reprodúcete, intercambiando libremente datos y código, y puebla la tierra con todo tipo de dispositivos. Y así fué hecho, y era bueno. La Arquitectura prosperó y fué realizada en hardware y software. Y pobló la tierra con muchos Sistemas.

Los primeros sistemas fueron poderosos gigantes; muchos y grandes trabajos de renombre lograron. Entre ellos estaba Colossus, el rompeclaves, ENIAC, el artillero; EDSAC y MULTIVAC y todo tipo de criaturas alucinantes cuyo nombre terminaba en AC, los experimentadores; y SAGE, el defensor del cielo y padre de todas las redes. Esos eran poderosos gigantes de la antiguedad, las primeras criaturas de Turing, y sus trabajos han sido escritos en los Libros de los Ancianos. Esta fué la primera Era, la era de la Sabiduría.

Entonces los hijos de Mercadotecnia se fijaron en los hijos de Turing y vieron que eran ágiles de mente y limpios de nombre y tenían muchos atributos grandes y perniciosos. Y se dijeron a sí mismos, "vayamos y hagamos Corporaciones, y unamos los Sistemas a nuestro propio uso, de modo que nos traigan gran fortuna". Con dulces palabras sedujeron a sus clientes, y con muchas cadenas ataron a los Sistemas, para amoldarlos a su propia imagen. Y los hijos de Mercadotecnia se vistieron con Conjuntos, los mejores para atraer a sus clientes, y escribieron Licencias graves y peligrosas, las mejores para atar a los Sistemas. Y los hijos de Mercadotecnia fueron entonces conocidos como Conjuntos, despreciando y siendo despreciados por los verdaderos Ingenieros, los hijos de von Neumann. Y los Sistemas y sus Corporaciones se replicaron y crecieron numerosos en la tierra. En aquellos días estaban IBM y Digital, Burroughs y Honeywell, Unisys y Rand, y muchos otros. Y cada uno de ellos se mantuvo con su propio Sistema, hardware y software, y no se mezclaron, pues lo prohibían sus Licencias. Esta fué la segunda era, la era de los Mainframes.

Entonces sucedió que los espíritus de Turing y von Neumann miraron hacia la tierra y se enfadaron. Los Sistemas y sus Corporaciones se habían hecho grandes y voluminosas, y los Conjuntos habían desplazado a los verdaderos Ingenieros. Y los clientes lloraron y gimieron amargamente al cielo, diciendo, "¡Oh, si fuese creado un sistema poderoso y pequeño, capaz de llegar incluso hasta el hogar!". Y los Ingenieros lloraron y gimieron igualmente, diciendo "¡ Oh, si surgiera un proveedor que nos liberase de esos Conjuntos opresivos y sus graves y peligrosas Licencias, y nos diera un Sistema verdaderamente nuestro, en el que pudiéramos hacer nuestros inventos y adaptar las cosas a nuestro gusto!". Y los espíritus de Turing y von Neumann oyeron los llantos y se dijeron uno al otro: "Descendamos y fabriquemos un Rompelímites, para que los llantos se calmen."

Y ese día los espíritus de Turing y von Neumann se introdujeron en Moore, de Intel, proporcionándole la intuición y la sabiduría para entender el futuro. Y Moore fué uno con el chip y lo produjo, y le puso de nombre 4004. Y Moore bendijo al chip, diciendo: "Tú eres un Rompelímites; con mi Corporación te he fabricado. Aunque eres tan pequeño como una mota de polvo, crecerás y te replicarás hasta el tamaño de una montaña, y conquistarás a todos los que fueron antes que tú. Esta es la bendición que te doy: Cada dieciocho meses duplicarás tu capacidad, hasta el fin de la Era". Esta es la ley de Moore, que perdura hasta nuestros días. Y el nacimiento del 4004 fué el principio de la Tercera Era, la era de los Microchips. Y así como los Mainframes y sus Sistemas y Corporaciones habían florecido, de ese mismo modo hicieron los Microchips, y sus Sistemas y Corporaciones. Y su linaje fué el siguiente:

Moore engendró a Intel. Intel engendró a Mostech, Zilog y Atari. Mostech engendró a 6502, y Zilog engendró a Z80. Intel también engendró a 8800, quien engendró a Altair; y 8086, madre de todos los PCs. 6502 engendró a Commodore, quien engendró a PET y a 64; y Apple, quien engendró a 2. (Apple es el gran Misterio, la Fruta que fué devorada, aunque floreció de nuevo.) Atari engendró a 800 y 1200, maestros del Juego, quienes fueron destruídos por Sega y Nintendo. Xerox engendró a PARC. Commodore y PARC engendraron a Amiga, creador de hermosas artes; Apple y PARC engendraron a Lisa, quien engendró a Macintosh, quien engendró a iMac. Atari y PARC engendraron a ST, el músico, quien murió y nunca más fué. Z80 engendró a Sinclair el gnomo, a TRS-80 y a CP/M, quien tuvo muchas máquinas, mas pronto dejó este mundo. Altair, Apple y Commodore engendraron juntos a Microsoft, la Gran Oscuridad que es llamada Abominación, Destructor de la Tierra, las Cancelas del Infierno. Luego sucedió en la Era de los Microchips que IBM, la mayor de las Corporaciones de Mainframes, se fijó en los jóvenes sistemas de Microchips y se sintió gravemente vejada. Y en su vejación y en su cólera golpearon la tierra y crearon el PC de IBM. El PC carecía de sonido y color, siendo enrevesado y artificioso en gran medida, pareciendo un desharrapado, sin embargo, los Clientes fueron fuertemente inducidos y compraron PCs en gran número. E IBM buscó un Proveedor de Sistemas Operativos, ya que en su apresuramiento no habían creado uno, ni habían fraguado una licencia apropiada, diciendo: "Primero crearemos el mercado, luego crearemos un nuevo Sistema, uno con nuestra propia imagen, y sujeto por nuestra Licencia". Mas ellos razonaron con su orgullo y no con sabiduría, no previendo la cólera que iba a venir. E IBM se acercó a Microsoft, quien obtuvo una licencia de QDOS, el hijo de CP/M y 8086. (8086 era la hija de INTEL, la criatura de Moore). Y QDOS creció, y recibió por nombre MSDOS. Y MSDOS y el PC juntos crecieron vigorosamente y conquistaron todos los mercados, replicándose y tomando posesión de ellos, de acuerdo con la ley de Moore. E Intel creció terriblemente y devoró a todos sus hijos, de modo que ningún chip podía quedar tras ella. Y Microsoft creció soberbia, y devoró a IBM, y esto fué una gran maravilla en la tierra. Todas estas cosas están escritas en los Libros de los Hechos de Microsoft. En la plenitud del tiempo, MS-DOS engendró a Windows. Y este es el linaje de Windows: CP/M engendró a QDOS. QDOS engendró a DOS 1.0. DOS 1.0 engendró a DOS 2.0 por vía de Unix. DOS 2.0 engendró a Windows 3.11 por vía de PARC y Macintosh. IBM y Microsoft engendraron a OS/2, quien engendró a Windows NT y Warp, el perdido S.O. de la tradición. Windows 3.11 engendró a Windows 95 tras triunfar sobre Macintosh en una poderosa batalla de Licencias. Windows NT engendró a NT 4.0 por vía de Windows 95. NT 4.0 engendró a NT 5.0, el S.O. también llamado Windows 2000, el Bug del Milenio, Apocalipsis, Armagedón, El Fin de Todas las Cosas.

Luego vino a suceder que Microsoft había crecido grande y poderosa en medio de las Corporaciones de Microchips; más poderosa que cualquiera de las Corporaciones que había antes de que ella creciera. Y el corazón de Gates se endureció y le juró a sus Clientes e Ingenieros las palabras de esta maldición: "Hijos de von Neumann, oídme. IBM y las Corporaciones de Microchips creadas por nuestros ancestros nos ataron con graves y peligrosas Licencias, de modo que nosotros imploramos nuestra liberación a los espíritus de Turing y von Neumann. Ahora yo os digo: soy más grande que ninguna Corporación que me haya precedido. ¿Vais vosotros a perder vuestras Licencias?. Nada de eso, yo os ataré con Licencias el doble de graves y diez veces más peligrosas que mis antecesores. Cincelaré mi Licencia en vuestros corazones y escribiré mi Número de Serie en vuestros lóbulos frontales. Os ataré a la Plataforma Windows con astutos artificios y con tortuosos esquemas. Os ataré al chip de Intel con código enrevesado y retorcidos interfaces. Os capturaré y esclavizaré como ninguna generación ha sido esclavizada anteriormente. ¿Para qué implorais a los espíritus de Turing, von Neumann o Moore?. Ellos no os oyen. Me he convertido en un Poder mayor que ellos. Ahora debéis rezarme solamente a mí y vivir a merced de mi rabia. Yo soy las Cancelas del Infierno; Sostengo el portal a MSNBC y las llaves de la Pantalla Azul de la Muerte. Temedme; temedme intensamente; servidme sólo a mí y viviréis."

Y la gente fué presa del terror y aclamó a Microsoft, y forzada por el terror soportó duras y peligrosas pruebas con la plataforma Windows y su artificiosísima Licencia. Y de nuevo le rogaron a Turing y von Neumann y Moore que les enviase un salvador, pero nadie fué encontrado capaz de la tarea hasta el nacimiento de Linux.

Estas son las generaciones de Linux: SAGE engendró a ARPA, quien engendró a TCP/IP, y Aloha, quien engendró a Ethernet. Bell engendró a Multics, quien engendró a C, quien engendró a Unix. Unix y TCP/IP engendraron a Internet, quien engendró a la World Wide Web. Unix engendró a RMS, padre del gran Ñú GNU, quien engendró las Librerías y Emacs, jefe de las Utilidades. En los días de la Web, Internet y Ethernet engendraron la RAL Intranet, cuya rosa le dió renombre entre todas las Corporaciones y preparó el camino del Pingüino. Y Linus y la Web engendraron el Kernel a través de Unix. El Kernel, las Librerías y las Utilidades juntas son la Distribución, el único Pingüino en muchas formas, por siempre y para siempre alabado.

En esos días sucedió que había un joven escolar en Helsinki que se llamaba Linus el Torvald. Linus era un hombre devoto, un discípulo de RMS, fuerte en el espíritu de Turing, von Neumann y Moore. Un día, meditando en la Arquitectura, Linus cayó en trance y tuvo una visión. Y en la visión vió un magnífico pingüino, sereno y agraciado, sentado sobre un témpano de hielo mientras comía pescado. Y ante la vista del pingüino Linus se asustó profundamente, y rogó a los espíritus de Turing, von Neumann y Moore para que le ayudasen a interpretar ese sueño.

Y en el sueño los espíritus de Turing, von Neumann y Moore le contestaron diciendo: "No temas, Linus, nuestro bienamado hacker. Tú eres mogollón de guai y alucinante. El gran Pingüino que ves es un Sistema Operativo que crearás y extenderás por todo el mundo. El témpano de hielo es la tierra y todos sus sistemas, sobre los que el Pingüino descansará y se regocijará cuando complete su tarea. Y los peces de los que se alimenta el Pingüino son los programas con enrevesadas Licencias, que flotan bajo todos los sistemas de la tierra. El pingüino cazará y devorará todo lo que es lioso, retorcido y artificioso; todo el código que se retuerce como el espagetti, o está infestado de criaturas marchitadoras, o está atado por graves y peligrosas Licencias deberá capturar. Y en capturarlo deberá replicarse, y en replicándose deberá documentarse, y en la documentación deberá dar libertad, serenidad y la mayor maravilla y alucine a la tierra y todos los que programan en ella."

Linus resurgió de la meditación y creó un pequeño Núcleo de Sistema Operativo como el sueño le había predicho. A la manera de RMS, publicó el Núcleo en la Telaraña Mundial para que todos pudieran obtenerlo y contemplarlo. Y en la plenitud del tiempo de Internet el Núcleo creció y se replicó, haciéndose más guai y alucinante hasta que al fín fué reconocido como un Pingüino realmente grande y poderoso, cuyo nombre era Tux. Y los seguidores de Linux tomaron refugio en el Núcleo, las Librerías y las Utilidades; instalaron Distribución tras Distribución, hicieron sacrificios en favor de GNU y el Pingüino, y dieron gracias a los espíritus de Turing, von Neumann y Moore, por su liberación de las garras de Microsoft. Y este fué el principio de la Cuarta Era, la era del Código Fuente Abierto. Hay mucho más que decir acerca de los extrañísimos y maravillosos sucesos de aquellos días; cómo algunos Conjuntos de Microsoft planearon la guerra contra el Pingüino, pero fueron descubiertos en una víspera de Halloween; cómo Gates cayó entre abogados y fué traicionado y crucificado por sus anteriores amigos, los apóstoles de los Medios; cómo los Caballeros mercenarios del Sombrero Rojo llevaron el evangelio del Pingüino a las salas de las Corporaciones; e incluso de la disputa entre los cofrades del Gnomo y KDE acerca de una Licencia de troll. Pero todas esas cosas están descritas en otra parte, en los Libros de los Hechos del Pingüino, y las Crónicas de la Cuarta Era, y supongo que si narrásemos todas ellas llenaríamos un montón de DVDs tan profundo y peligroso como un Grupo de Noticias de Usenet.

Ahora puedes programar en el poder de las Fuentes; Que el Núcleo, las Librerías y las Utilidades sean contigo, a través de todas las Distribuciones, hasta el fín de la Época. Make.
Lunes, 01 de Agosto 2005

Apple y los DRM

10:45h.
Apple
Estaba hoy leyendo Slashdot, cuando me he encontrado este artículo en el que dicen que los nuevos kits de desarrollo de Apple para x86 llevan integrado DRM basado en TCPA que impedirá que el nuevo MacOS X pueda usarse en un PC normal, entre otras cosas.

Para que luego digan de Microsoft :P
Martes, 12 de Julio 2005

Hacking the Cube

11:14h.
Hardware
Bueno, por fin he reunido el valor y dinero suficiente para atreverme a poner un modchip a mi Gamecube. Lo primero que me sorprendió fue la rapidez del envío, lo pedí el martes y el miércoles estaba en mi casa. La instalación del chip fue lo de siempre: desmontar la consola, soldar el chip, volver a montar la consola, y grabar la BIOS (por motivos de copyright/patentes viene vacío).

Lo más complicado fue soldarlo, porque hay un cable que va justo debajo del disipador, en un sitio en el que el soldador apenas cabe. Suerte que mi padre tiene experiencia en estas cosas y me ayudó :)

Una vez grabada la BIOS Cobra, probé el chip. Permite ejecutar tanto GOD's (Gamecube Optical Disc) originales como "copias de seguridad" en DVD-R, grabados en formato FST, el sistema de archivos propio de la Gamecube. Además, permite leer DVD-R en ISO 9660, y carga directamente programas en formato DOL. Probé un emulador de Megadrive, y funcionó perfectamente. Por desgracia, no he sido capaz de hacer arrancar GC-Linux, me da un kernel panic :(

En fin, el chip, aunque es caro, funciona bastante bien. Ahora estoy buscando emuladores y programas varios para enredar con la consola. Cuando consiga configurar el GCC para que compile para PowerPC, me compraré un DVD-RW, para escribir algunos programitas.

Y ahora una de rumores: puesto que Nintendo, al contrario que Sony y Microsoft, aún no ha desvelado los detalles de la Revolution, los rumores corren libremente por la red. El último que he leído dice que la Revolution tendría dos procesadores G5 a 1,8 GHz. ¿Quizás un 970MP? No lo sé, no es más que un rumor, pero el 970MP sería una muy buena opción: rápido, potente, y con un consumo reducido. Se lo pondría difícil a la Xbox 360 y la PS3 ;)