Desmontando SimCity 2000

SimCity 2000 (Maxis, 1993) es uno de mis juegos superfavoritos de toda la vida. Llevo jugándolo como 20 años y es parcialmente responsable de mis horrorosas notas en el instituto. Modificar juegos siempre me ha gustado, pero hasta ahora no me había puesto en serio a decodificar los datos de este simulador de ciudades. ¡Y he hallado varias cosas interesantes!

Existieron versiones en un mogollón de plataformas, desde el Macintosh (la original) hasta GameBoy Advance, pero mi favorita es la de MS-DOS y es sobre la que trata este artículo. Hay dos ficheros interesantes: el ejecutable (SC2000.EXE) y el fichero de datos (SC2000.DAT). Lamentablemente, la versión de Windows no salió en español, y la versión Network Edition que permitía juego en red funciona fatal (y también está sólo en inglés). Leer más...

Demos locas

La cultura de la demoscene jamás deja de sorprenderme. Los límites de las diferentes plataformas son superados con total alevosía, superándolos aún suponiéndolos definitivos una y otra vez. Más colores, más sonido, nuevas funciones… o simplemente hacer lo común por el camino más difícil. Per aspera ad astra.

Con este pequeño artículo quisiera mostrar las demos que más me han sorprendido por romper las barreras que creíamos impenetrables, por hacer lo común a través de lo imposible o simplemente porque me parecen técnicamente relevantes. Leer más...

Consultas MySQL con muchos JOINs

A veces uso MySQL por elección. No por mi elección, sino por la de los clientes. 🙂

Una de las cosas que más me ha roto la cabeza es optimizar queries con muchos JOINs. Recientemente, un informe requería una consulta con 25 JOINs, y al tratar de ejecutarla nuestro servidor prácticamente lloraba que por favor parásemos. Sin embargo, me he topado (al decir verdad, fue mi jefe) con una variable de configuración muy interesante a la hora de encarar este problema.

Webcrawler java Hoverkraft

He estado trasteando una forma de simular un navegador en Java. Hasta ahora he usado JMeter, que es tremendamente potente, configurable y para pruebas de carga es imprescindible. No obstante hay dos detalles que no me convencen: a veces uno quiere algo programático en lugar de declarativo, y segundo el JMeter es durillo de entender y configurar. Además, no siempre es necesario tener métricas exóticas o peticiones de Ajax, a veces sólo queremos acceder a algún servicio web o analizar una web para bajar ficheros o automatizar tareas. Leer más...

Converter JSF para SelectOneMenu

La principal característica de JSF (o, al menos, la que más me gusta) es la facilidad para enlazar atributos del bean controlador desde la vista xhtml. No obstante existe una limitación importante: en el estándar HTTP las claves y valores siempre serán cadenas porque así es como se transmiten. Sí, se puede serializar el objeto en base64, pero en casi cualquier circunstancia se debe huir de una salvajada así.

¿Cómo hacer, pues, que el valor de un control se enlace directamente con un objeto? Pues JSF provee para ello los converters. Bueno, permite que tú los programes, claro. Tampoco PrimeFaces, que es mi librería de componentes de eleción, incluye estos conversores. Así pues, he programado uno pequeño para los SelectOneMenu, los menús desplegables asemejables a comboboxes. Lo dejo aquí para referencia mía y por si puede servirle de algo a alguien. Leer más...