Creando nuestros propios juegos para Nintendo DS

El día de ayer los usuarios de la consola Nintendo DS, recibieron la gran noticia de que la compañía japonesa anunció el Nintento DSi LL, que es una versión con pantallas de 4.2 pulgadas, del actual DSi. La razón de esta pantalla de mayor tamaño según los medios especializados es satisfacer al público de mayor edad que prefiere pantallas con mejor visibilidad y la otra es permitir que el dispositivo pueda ser usado como un mejor dispositivo multimedia para ver videos en él.

Para mi fue primera noticia que es posible poner videos arbitrariamente en las consolas Nintendo DS, pero googleando encontré que existe un software llamado MoonShell, que permite reproducir archivos de música MP3, ver videos en formato DPG, además de poder mostrar imágenes en formatos JPG//BMP/PNG en adición a poder visualizar archivos de texto plano. Es decir con dicho software un Nintendo DS puede convertirce en un reproductor multimedia completo que muchos de los actuales poseedores de MP4/MP5 envidiarían.

Como era de esperar mi curiosidad me llevó a investigar los detalles de como era posible instalar dicho software y sobre todo poner los videos en las consolas de Nintendo, así que continue siguiendo links hasta que encontré Revolution for DS (R4DS), una tarjeta adaptadora tipo SLOT-1 (el conector de la parte trasera de la consola) que permite utilizar cualquier memoria microSD para grabar en ella juegos comerciales, juegos hechos por uno mismo (homebrew) y contenido multimedia que puede ser reproducido a través del software MoonShell.

Por el título del presente post se daran cuenta que lo que más me intereso fue la parte de los homebrew, o la posibilidad de instalar juegos o programas desarrollados por uno mismo. Si consideramos que el hardware del DSLite por ejemplo tiene 2 CPU (ARM9 + ARM7), 4MB de meoria RAM y cuenta con WiFi es una plataforma ideal para desarrollar herramientas de monitoreo de redes wireless, además de que puede utilizarce tambien como telefono voip, ya que cuenta con micrófono y parlantes. Claro si es que alguien desarrolla un cliente skype para las consolas de Nintendo.

El tutorial que nos explica como instalar el SDK (devkitARM) para desarrollar aplicaciones para el Nintendo DS, DS Lite, DSi y DSi LL, así como la instalación del emulador (DeSmuME) que nos permite probar nuestras aplicaciones antes de ponerlas en el R4DS, puede ser leído en la sección de Tutoriales y howtos del blog bajo el título "Instalar SDK para Nintendo DS en Linux".

La razón de que el tutorial sea sólo para Linux (o para cualquier otro Unix como el OSX), es que en el caso de los usuarios Windows, ellos sólo deben descargar el programa devkitPro, ejecutarlo y listo. Todo se instala automáticamente. Quiero aclarar que no es que odie Windows o piense que es una plataforma inferior, sencillamente me siento más cómo en entornos Linux/Unix.

Karmic Koala incluirá Eucalyptus

Reamente suena un poco a broma, pero es realmente un avance radical en las posibilidades corporativas de la seguiente versión de Ubuntu 9.10 (Karmic Koala). Como los amantes del simpático marsupial australiano lo sabran, lo único que come un koala es eucalipto, es por ello que la inclusión de Eucalyptus (Elastic Utility Computing Architecture Linking Your Programs To Useful Systems), en la última versión de Ubuntu Server 9.10 resulte tan irónico.

Pero más alla de las coincidencias, según he leído en un artículo aparecido en InfoWorld, Amazon incluirá Ubuntu Server 9.10 dentro de su oferta de servidores EC2, sumado eso al hecho de que con Eucalyptus, la nueva version de Ubuntu (Karmic Koala) podrá usar la misma API que los servidores hosteados en la nube EC2, será posible desplegar indistintamente una aplicación web sobre servidores ubicados en la nube de Amazon o en una nube en el propio data center de la empresa, esta posibilidad de cloud computing hibrida, ciertamente ayudará a muchos sysadmin a convencer a sus gerentes de las ventajas de ir hacia la cloud computing en pasos incrementales y con una alta redundancia (es decir tener siempre un respaldo local en caso de que Amazon falle).

Aunque no es buena idea ser pionero, lo que si es interesante es comenzar a experimentar con esta tecnología ahora, para que cuando la siguiente version LTS (Long Term Support) de Ubuntu aparezca en abril del 2010, estemos listos para comenzar a mover carga real a una arquitectura de cloud computing híbrida.

Otra interesante innovación en cuanto a virtualización que introducirá Karmic Koala, es un mejor soporte en kernel para las tecnologías KVM y Xen, que si son acompañadas del hardware apropiado (procesadores con soporte para virtualización asistida por hardware), nos ofrecen la posibilidad de correr sistemas 100% virtualizados casi con la misma eficiencia de los sistemas paravirtualizados, con lo que podremos correr entornos Windows en nuestra nube casi con la misma eficacia de correr el entorno en un servidor dedicado.

Yo estaba analizando las posibilidades de una migración a XenServer de toda mi plataforma de servidores virtuales para estar un poco más estandarizado, pero dada esta nueva posibilidad seguire muy de cerca lo que esta haciendo Ubuntu y de ser cierto todo lo que promete para mediados del 2010 estaría iniciando una migración masiva a la plataforma Ubuntu-Eucalyptus, debido a que de esa forma sería extremadamente simple movernos a una tecnología 100% basada en la nube.

Batalla entre Stallman e Icaza escala.

El pasado lunes 5 de octubre, Richard Stallman escribió en su blog bajo el título "Lest CodePlex perplex", un post que critica el portal de Open Source, CodePlex de Microsft, y llama a Miguel de Icaza un apologista (defensor/promotor) de Microsoft. Ese mismo día Icaza le responde con un post en su propio blog titualdo "World View", lo cual es una elevación del grado de confrontación de estas dos figuras públicas.

Bueno respecto al post de Stallman, tendremos que decir que es reiterativo es su crítica al Open Source, al que considera una parte menor del movimiento Free Software. Al menos eso es lo que se puede desprender de sus palabras en el post "Since nearly all open source programs are also free software" (Traducción: "Puesto que casi todos los programas Open Source son tambien Free Software"), lo cual es una gran ligereza por parte de Stallman. Rigurozamente hablando sólo es Free Software aquel software que es liberado bajo la licencia GPL, por otro lado Open Source es todo software del cual podemos acceder al código fuente, por lo tanto GPL es una de las muchas licencias que conforman el Open Source. Por ejemplo OpenSolaris, FreeBSD u OpenBSD, son todos sistemas operativos que no son Free Software, sin embargo todos ellos son Open Source. Técnicamente hablando el Free Software es un subconjunto del Open Source, desde ese punto de vista la frase de Stallman es incorrecta, y deja lugar a las especulaciones de Icaza que llama a Stallman un "Fear Mongering" (Mercader del Miedo), y utiliza la siguiente frase contra Stallman "Richard Stallman frequently conjures bogeymen to rally his base. Sometimes it is Microsoft, sometimes he makes up facts and sometimes he even attacks his own community" (Traducción: "Richard Stallman frecuentemente conjura la figura del coco para mover a sus bases. Algunas veces es Microsoft, algunas veces el maquilla los hechos y algunas veces hasta ataca a su propia comunidad").

Además la forma como escribe Stallman, que dice por un lado de que no puede juzgar a CodePlex por sus acciones, pues no han hecho nada malo aún, pero por otro lado que debido al hecho que la gente que esta detras del proyecto son empleados, ex-empleados o apologistas (como Icaza) de Microsoft, y el gigante de Redmond siempre ha querido destruir el movimiento Free Software, debemos concluir que esta es otra maniobra destinada a acabar con el Free Software. Son palabras como esas las que han llevado a Icaza a decir que Stallman usa un leguaje a lo George W. Bush, con frecuentes referencias a los buenos y los malos, a la política de aquellos que no están con nosotros están contra nosotros.

En el blog chileno de tecnología FayerWayer, encontré esta crítica a los defensores a ultranza de las posturas a los Richard Stallman:

"Con el tiempo, lo que uno comienza a observar es que podemos reconocer dos tipos de miembros de la comunidad del Software Libre/Código Abierto o como le quieran llamar.  Están aquellos que trabajan creando software, resolviendo problemas, aplicando ingeniería y en el fondo, haciendo que las cosas sucedan.  En este grupo tenemos a personajes como Miguel de Icaza, Linus Torvalds, Keith Packard y Greg Kroah-Hartman entre otros.  Por otra parte tenemos a personajes como Richard Stallman que transitan por la órbita ideológica, muy necesaria por cierto, pero que muchas veces se queda atascada en discusiones inútiles como la de usar el término Free Software o Código Abierto, o la constante insistencia en agregar el prefijo GNU cuando se habla de Linux."

Ciertamente, Stallman y sus posturas más de político que de técnico, se están volviendo menos populares y hay menos tolerancia para sus exabruptos. Hasta el mismo ha tenido que pedir disculpas por sus afirmaciones en su blog sobre el hecho de que Mac OS X tenía un backdoor que permitía a Apple actualizar software de los computadores de sus usuarios, algo que no pudo demostras y por lo cuál se vio obligado a rectificarse públicamente, según podemos leer en el blog The H Open. Lógicamente los talibanes del Free Software, jamas admitiran que su profeta no es infalible y sencillamente ignoraran este hecho como simple lo han hecho y lo justificaran.

Si por mucho tiempo Stallman ha venido criticando a Microsoft y sus campañas de FUD contra el Free Software, ahora resulta que él mismo esta haciendo campañas de FUD contra todo aquel software que no es Free Software, incluso si este es Open Source. Al parecer Icaza a diferencia de Torvalds, no ha optado por ignorar las poses de guardian de la verdad suprema de Stallman y le ha respondido en los mismos términos. Espero que Icaza no distraiga mucho de su tiempo haciendo esto, pues perder el tiempo en discusiones bizantinas no ayuda a mejorar la calidad del software que usamos.

Hizo upgrade a Lenny y ahora bind9 no resuelve. ¿Qué hacer?

Eso fue justamente lo que me acaba de suceder. Hice el upgrade de uno de mis servidores DNS Etch a Lenny, en un primer momento todo pareció haber salido bien sin problemas, es más me sorprendió que nadie se hubiera quejado. Sin embargo tras 30 minutos de aplicado los cambios una llamada diciendo que tenía intermitencias en el servicio me llevo a revisar nuevamente el server que había actualizado.

Aparentemente todo funcionaba bien en el server, pero si se intentaba enviar un query usando nslookup desde una máquina diferente al server para todo dominio que no estuviera delegado a dicho server restornaba que no podía resolver el dominio. Me tomo como 20 minutos dar con una página web donde daban la solución al problema. Todo el problema es que por defecto en Lenny la recursión en bind9 está deshabilitada para cualquier máquina que no sea el localhost y todo el truco esta en añadir estas líneas al archivo /etc/bind/named.conf.options:

recursion yes;
allow-recursion {any;};
allow-query {any;};
allow-transfer {"none"; };


Espero que esto le ayude tambien a aquel que haya tropezado con este problemita.

Traiciones en el Free Software

En el último Software Freedom Day realizado en Boston, el pasado 19 de setiembre, Richard Stallman declaró que Miguel de Icaza era un "traidor" a la causa del Free Software (detalles aquí), las declaraciones de Stallman posiblemente se deban al actual rumor de que Miguel de Icaza podría pasar a dirigir el laboratorio Open Source de Microsoft, en reemplazo del actual Senior Director Sam Ramji que dejará Microsoft a final de mes. Obviamente la comunidad Free Software de modo monocorde ha aceptado las palabras de Stallman como las de su profeta infalible. Pero lo cierto es que mientras el movimiento Free Software se reduce y debilita cada vez más, el Open Source se expande y se vuelte el actual paradigma para el desarrollo de software del futuro, a un punto tal de que empresas que viven de la venta de su código propietario han tenido que liberar el código de sus productos o al menos parte del mismo, hemos llegado hasta el punto impensable pocos años atras de que Microsoft se una al movimiento Open Source y aporte al desarrollo del kernel Linux.

Es más hay estudios cuantitativos que demuestran que la calidad del Open Source se ha incrementado en los últimos tres años, según un artículo recientemente aparecido en PC-World, esta tal vez sea la primera prueba cuantitativa de que el modelo Bazar es mucho mejor que el modelo de Catedral, que Raimond explicara en términos cualitativos en "La catedral y el bazar" .Si sumamos lo anterior al hecho de que empresas líderes del sector TIC como IBM, Oracle o Novell apuesten fuertemente por el Open Source es una señal de que es el camino del futuro.

En una declaraciones hechas por Linus Torvalds hace un par de dias decía que Linux se estaba volviendo muy sobrecargado, un hecho que es innegable si vemos la evolución del tamaño del código fuente del kernel, el tamaño del código practicamente se ha multiplicado por dos desde la version 2.4 a la 2.6. Esto es el resultado del diseño inicial del kernel, Torvalds optó por un kernel monolítico, lo cual permitió el desarrollo rápido del kernel, si lo comparamos con Hurd la solución perfecta de la FSF basada en un diseño de Microkernel que aún sigue en desarrollo perpétuo. Linus no intenta ocultar el problema, desviar la atención o buscar culpables en otro lugar, por el contrario lo enfrenta y analiza, es decir hace todo lo contrario a lo que hacen los devotos del FSF. Torvalds es conciente de la necesidad de hacer concesiones para hacer que algo funcione en la práctica, al parecer ese tipo pragmatismo es la principal diferencia entre Open Source y Free Software.

Es debido a ese fundamentalismo (a ver quien le puede decir a Stallman "emacs sucks" y sobrevivir a su ira), a ese radicalismo en ideas que han quedado demostradas imposibles de realizar en la práctica que cada vez el Free Software se reduce y es más una excentricidad que un elemento propulsor del desarrollo de la siguiente generación de software. Es por ello que Stallman ve traidores en todas partes, y considera enemigos a todos.