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...

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...