Narciso Cerezo

Tecnología y emprendizaje

Recursos limitados

Hace unos días, mi amigo Sergio de Knowgate me envió un enlace hacia una especie de caricatura en flash para nostálgicos. Como bien decía el, casi se me caen las lágrimas al recordar aquellos míticos "Manic Minner", "Underworld", "Enduro Racer" y otros muchos juegos realmente impresionantes que funcionaban en un pequeño Sinclair Spectrum con 16Kb de RAM y 3,77MHz, parece mentira.
Creo que somos unos cuantos los que aprendimos en aquella época, primero con basic, luego con ensamblador del Zilog Z-80.
Lo cierto es que ahora ando muy liado con un nuevo proyecto muy interesante basado en J2ME, la plataforma de Java para dispositivos móviles, realmente muy limitados con respecto a los ordenadores a los que estamos acostumbrados. No obstante, siguen siendo mucho más que aquellos spectrum, ya que es habitual contar con 512Kb de RAM y la velocidad de proceso suele ser más que esos 3,77MHz.
En cierto modo, es como volver a aquella época, porque hay que hacer las cosas poniendo un énfasis especial en el ahorro de memoria y de ciclos de CPU, algo que aprendí muy bien con el Z-80. El truco de hacer XOR A,A en vez de LD A,0 le gustó mucho a mi profesora de Fundamentos del Material Informático :-p.
Además, hay que hacer cantidad de cosas desde cero porque el sistema no da para más. Por ejemplo, para almacenar datos se tienen unas "cosas" que se llaman RecordStore y que son una especie de tabla de base de datos muy rudimentaria. Lo único que te da es poder crear registros con un autonumérico que gestiona el sistema y cuyos datos son un bloque de bytes, en crudo, tu te las apañas para guardar y leer la información. Sobre esto, he realizado un sistema de base de datos más o menos complejo. Tiene índices que permiten buscar la información muy rápidamente, campos como en una tabla normal de un sistema SQL, se puede filtrar, ordenar, etc. Pero lo mejor de todo es que lleva incorporado un sistema de sincronización contra un servidor central, de forma que es capaz de detectar los cambios en el servidor y bajarlos al dispositivo y al contrario, enviar los cambios producidos en el dispositivo hacia el servidor.

Bueno, a ver si saco un ratito y escribo un poco sobre un tema que salió hace una o dos semanas en el blog de Enrique Dans sobre temas de recursos humanos, en concreto sobre el horario de trabajo y las recompensas. Es un tema que me enciende debido a las experiencias pasadas.

Hasta entonces.