Emuladores 101

La emulación es una técnica muy usada en informática para poder dar soporte a software antiguo. Básicamente consiste en hacer que un sistema informático sea capaz de imitar a otro, normalmente con el fin de hacerlo compatible con el software de éste. Esta técnica puede implementarse tanto por software como por hardware, y de hecho puede usarse para imitar el comportamiento de ambos. Trataré en este artículo de dar una visión de los fundamentos de este fenómeno.

El ejemplo práctico más común de emulador sería un programa que se ejecuta en nuestro ordenador que permite utilizar software de un sistema antiguo. Tómese como ejemplo un emulador de Master System para ordenadores con Windows. Consistiría, pues, en un programa que se ejecutaría en nuestra máquina, ejecutaría un programa diseñado para esta consola, volcado en un fichero en nuestro PC. Mediante un mapeo de controles (por ejemplo, asignar los cursores de nuestro teclado al control direccional del mando de la consola) controlaríamos el funcionamiento de la misma. Es decir, podemos jugar al Alex Kidd in Miracle World (1986) en Windows.

Alex Kidd en Wakalabis
Alex Kidd en Wakalabis, un emulador conocido por su creador.

Continuar leyendo «Emuladores 101»

Blue Monday and the mother who gave birth to it

Según los tontólogos de toda España, hoy es el lunes azul, blue monday. Estos científicos de la gilipollez han desarrollado una fórmula des-matemática que relaciona los días de vacaciones, la posición del día del año y otras variables sin sentido para dar con el día más triste del año. Hoy es precisamente ese día.

Por supuesto, esto carece de toda validez científica, y el lunes azul es otro de esos memes que se propagan por el Caralibro a golpe de botón «compartir» que nos indican la capacidad cognitiva de nuestros congéneres. No obstante, sí que merece la pena aprovechar el día para rendir homenaje al éxito de New Order del mismo nombre.

A menudo se ha citado este tema como fundamental para la transición del sonido disco de los ’70 y el techno británico de los ’80. Su archiconocido inicio es uno de esos accidentes felices que a veces ocurren en la música, y su seña de identidad. Los que quieran hacer caso a supercherías, entristézcanse. Los que no, disfruten de esta melodía de Bernard Sumner.

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.

Aunque hay un montón de soluciones disponibles, me he propuesto hacer un pequeño simulador de navegador (un webcrawler) en Java, que permita fácilmente y de forma sencilla implementar tareas. Le he puesto a la criatura Hoverkraft. Dejo por aquí el código fuente.

Continuar leyendo «Webcrawler java Hoverkraft»

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.

Continuar leyendo «Converter JSF para SelectOneMenu»

Hideo Kojima y David Bowie

Cada vez que alguien famoso la espicha (máxime si se trata de alguien de la farándula o la música), pasa que Internet se vuelca con él, a pesar de que mucha gente jamás ha oído ni una canción suya. Pasó con B.B. King hace relativamente poco, y ahora pasa con alguien que considero uno de los grandes: David Bowie. Tras esta declaración, no soy menos que todos ellos. No soy el mayor fan, pero sí que conocía sus canciones más famosas.

Con la obra que sí estoy familiarizado es con la de Hideo Kojima, en concreto con Metal Gear. El productor, recién mandado a la Venta del Nabo, siempre ha sido un fan incondicional del colorido artista, y mostró su consternación tras el fallecimiento de Bowie. Pero entrando ya en el detalle, Kojima dedicó un montón de homenajes al artista, sobre todo en los últimos capítulos de la saga. ADVERTENCIA, SPOILERS: Los siguientes párrafos desvelan detalles de la trama de Metal Gear.

major zero Continuar leyendo «Hideo Kojima y David Bowie»

La mayor navaja suiza del mundo

Así se anuncia esta navaja suiza Wenger. No es para menos, sólo hay que echarle un ojo para darse uno cuenta que está ante un artilugio realmente notable.

supernavaja suiza

Pese a que parece algún artículo de broma, al parecer se trata de un caro artículo de exposición dirigido a profesionales que quieran adquirir navajas personalizadas con alguno de sus elementos. En tamaño normal, por supuesto. No obstante, lo mejor son los comentarios en Amazon de este increíble utensilio. Veamos algunos. Continuar leyendo «La mayor navaja suiza del mundo»

Los mejores GIFs de Internet, según Reddit

Algunos de los hilos más populares de Reddit son los que piden tu X favorito. En este caso, los GIFs favoritos del personal. He recopilado unos cuantos para disfrute del visitante, sin ningún orden en particular. También otros que, sin ser de hilos recopilatorios, me han parecido graciosos.

Continuar leyendo «Los mejores GIFs de Internet, según Reddit»

Juegos retro bien entendidos

La nostalgia vende, y mucho. Los videojuegos, al ser un arte relativamente joven, no había experimentado o necesitado de la nostalgia. Sobre todo teniendo en cuenta que comenzó como un pasatiempo para niños y habiendo sido una industria errática, que tuvo que ser reconstruida en 1983. Por supuesto, más de 25 años después, la cosa cambia.

Hay dos formas fundamentales, pienso, de explotar la nostalgia en los videojuegos. La primera es, por supuesto, realizar remakes y reediciones a cascoporrillo. Con una base de admiradores bien asentada, sacar un remake bien hecho es un negocio relativamente seguro. Tómese por ejemplo el Final Fantasy VII, con unos seguidores muy fieles que esperan con ansia revivir dicha aventura. Todo apunta de que va a ser un churro, pero igualmente va a vender como īdem. No voy a entrar a valorar este tema, sino la que considero que es, precisamente, la segunda forma de entrar al trapo de la nostalgia: los juegos «retro». Continuar leyendo «Juegos retro bien entendidos»

Los juegos del Litri

Hace unos años (en realidad bastantes, alrededor de 2003) fui el autor intelectual de un atentado a la humanidad llamado «El Litri en busca del Odrogoban perdido». Un juego realizado con el RPG Maker 2000 que relataba las desventuras del Litri, un cazatesoros frustrado. Entonces no era tan común eso de los juegos mofándose de otros juegos como ahora, por lo que, aunque no se trataba en absoluto de un juego notable, su humor gustó en algunos círculos.

El Litri en busca del odrogoban perdido

Podéis descargarlo aquí: El Litri en busca del Odrogoban perdido (juego «completo»)

Algo más tarde comencé una segunda parte, titulada Lost in Barbate, ya con el mejorado RPG Maker XP. Aunque su producción fue algo más cuidada, por supuesto se trata de un juego similar en sus virtudes y defectos. Lamentablemente nunca lo acabé, dado que un fallo catastrófico en mi disco duro me hizo perder los datos para siempre. Lo único que se conservó fue la beta que coloqué en Internet un tiempo antes.

Lost in Barbate

Puedes descargar el juego de aquí: Lost in Barbate (beta)

Los ficheros están alojados en mega.co.nz, por lo que durarán hasta que vuelvan a meter en el talego al gordo de Megaupload. Un día buscaré la guía que alguien escribió para el primer juego. Cualquier comentario o insulto será bienvenido.

De LAMP a LEMP

Como fundador de la difunta Frikipedia, una de mis primeras labores fue el montar un servidor web. En 2005 la elección por antonomasia era, por supuesto, el stack LAMP en Debian. Por aquel entonces no existía verdadera competencia en el segmento de webs personales, y sigue siendo hoy día el recomendado para MediaWiki.

Para los rezagados, LAMP significa Linux+Apache+MySQL+PHP, y es uno de los stacks más utilizados a la hora de construir páginas web personales. Linux (estrictamente distribuciones de GNU/Linux) provee el sistema de explotación de la máquina, Apache el servidor HTTP, MySQL la base de datos y PHP el lenguaje de programación. Continuar leyendo «De LAMP a LEMP»