Actualización a Ceibal-Chess para XO

Nos complace poder anunciar que recientemente hemos publicado una nueva versión de Ceibal-Chess para la XO. Esta versión incluye varias mejoras visuales que harán la experiencia de juego más amena, así como se corrigen algunos errores del juego.

La nueva versión puede descargarse desde http://drupal.ceibaljam.org. Los pasos necesarios para realizar la instalación en la XO son los siguientes:

  1. Iniciar la actividad terminal.
  2. Obtener la nueva versión mediante el comando: “wget http://drupal.ceibaljam.org/sites/default/files/ajedrez.xo”, sin comillas.
  3. Si ya dispone de una versión anterior instalada, ejecutar el siguiente comando para eliminarla: “rm -rdf Activities/Ajedrez.activity”; Reiniciar Sugar presionando: Ctrl + Alt + Erase.
  4. Instalar la Actividad mediante el comando: “sugar-install-bundle ajedrez.xo”
  5. Reiniciar Sugar presionando: Ctrl + Alt + Erase.
  6. El ícono del Ajedrez aparecerá junto con las demás actividades.

Como siempre, pueden mantenerse al tanto de la información más reciente aquí, así como en nuestro grupo Facebook aquí.

Herramientas y Técnicas para el Desarrollo de Aplicaciones Libres

El pasado Sábado 26 de Abril se llevó acabo el Festival Latinoamericano de Instalación de Software Libre (FLISoL) donde realizamos la presentación titulada “Herramientas y Técnicas para el Desarrollo de Aplicaciones Libres” en el Auditorio de la Torre de las Telecomuncaciones de Antel. Esta tuvo por objetivo presentar conceptos y herramientas que un desarrollador puede aprovechar para el desarrollo de un proyecto de Software Libre.

La presentación comenzó con una introducción al por qué iniciar un nuevo proyecto, las ventajas desde el punto de vista del desarrollador de hacer que este sea Software Libre u Open Source, y luego continuamos presentando distintas herramientas para el desarrollo. Dentro de este marco se habló de wikis, Software de gestión de la configuración (svn, hg), Issue Trackers y lenguajes de programación, en particular se realizó una pequeña introducción a Python (aunque nada cerca de la gran presentación de Marcelo Ramos en el Anfiteatro).

Durante la parte interactiva de la presentación se desarrollaron varios scripts que pueden resultar de utilidad a alguien que recién esté comenzando en python y le interese la parte de gráficos 2D con PyGame y 3D con OpenGL.

Los ejemplos, junto con las trasparencias de la presentación pueden descargarse del siguiente enlace:

http://www.algorithmia.net/software/download.py?dl=flisol09.zip

Dentro del archivo se incluyen los siguientes ejemplos:

  • penguin.py - ejemplo sencillo que muestra como crear una ventana con PyGame y dibujar un png sobre ella.
  • demo.py - ejemplo sencillo 2D de animación basada en el tiempo (gracias a Gabriel Eirea).
  • holamundo.py - ejemplo intermedio que muestra como dibujar texto con PyGame.
  • gl.py - ejemplo avanzado que muestra como integrar OpenGL con PyGame para dibujar una priámide 3D y animarla.

Actualización de Memoria - Consideraciones de Software (parte 3/3)

OK, tenemos 8GB de RAM instalados, ¿¿por qué mi sistema operativo vé tan solo 3.2GB?? Los sistemas operativos de 32 bits sobre x86 pueden direccionar únicamente 2^32 direcciones de memoria. 2^32 / (1024 * 1024) = 4096 M, por lo cual no podemos esperar que un sistema operativo de 32 bits pueda trabajar con más de 4GB de RAM… Simplemente no puede “hablarle” a más memoria que eso.

Por otro lado, sabemos que los procesadores x86 no disponen de instrucciones específicas de Entrada/Salida, sino que la forma en la cual se comunican con los periféricos es mediante lo que se llama “Mapeo de Memoria”. Bajo este esquema lo que el procesador hace es asignar direcciones de memoria especiales que al ser escritas, los datos no son almacenados en memoria, sino que se “habla” con un dispositivo determinado, como la pantalla, la placa de red, etc. Estas direcciones de memoria no pueden ser utilizadas para almacenar datos, por lo cual la cantidad de memoria efectiva que nuestro sistema de 32 bits que ya estaba limitado a 4GB, quedará alrededor de 3.2GB, como podemos observar en la siguiente captura del System Monitor de un Ubuntu de 32 bits.

La solución a este predicamento y que nos permitirá deshacernos de estas restricciones consiste en utilizar un sistema operativo de 64  bits, para lo cual necesitamos un procesador de 64 bits. La buena noticia es que la mayoría del hardware que compramos hoy en día ya es de 64 bits, como los procesadores Core 2 Duo de Intel o Turion X2 de AMD.

Utilizando un sistema operativo de 64 bits podemos direccionar 2^64 direcciones de memoria, o 17592186044416 M, mucho más que nuestros 8GB. Esto no es un problema para sistemas operativos como Linux o Solaris, que son de 64 bits desde hace más de una década, pero sí para sistemas más inmaduros como Windows, que recien ha comenzado a incursionar seriamente en el mundo 64 bits.

Como puede verse en la siguiente figura, en la práctica mi Fedora 10 de 64 bits reporta que puede hacer uso de un total de 7.8GB, un número muy superior a los 3.2GB de un sistema de 32 bits.

Conclusiones

Una actualización de Hardware sencilla y accesible tanto económicamente como desde el punto de dificultad, donde el verdadero reto está en hacer el cambio a 64 bits para poder sacar el mayor provecho al equipo.

Dependiendo del sistema operativo y las aplicaciones utilizadas sobre este, esta tarea puede resultar algo tan sencillo como reinstalar el sistema o bien volverse una verdadera pesadilla de compatiblidad. La forma más segura de saberlo de antemano es realizando un catálogo de todo el software y hardware del cual hacemos uso y del cual no podemos precindir y determinar si el desarrollador/proveedor provee soporte para 64 bits.

Hasta la próxima.-

Posts anteriores:

Actualización de Memoria - Instalación (parte 2/3)

Una vez que disponemos de la memoria simplemente debemos instalarla. Para esto debemos remover los dimms actuales y reemplazarlos por los nuevos.

En mi caso, remover la memoria implicó remover la placa de video, la cual no permitía abrir la trabita del socket 0 del canal A, como puede verse en la siguiente figura.

Actualizar el hardware es algo que generalmente me recuerda de la ley de Moore. Si se fijan la siguiente figura, pueden ver el dimm removido (izquierda) y el nuevo (derecha). El dimm nuevo no solo es del doble de capacidad (2GB en vez de 1GB), sino que además su alto es la mitad que el de su antecesor.

Hay que tener cuidado al instalar componentes como la memoria ya que es muy sencillo quemar los sticks con electricidad estática. Utilizar una cinta antiestática ayuda a trabajar tranquilo al costo de que la cinta molesta. :P

Eso es todo en cuanto a la instalación se refiere. Si lo prefieren, puede resultar una buena idea ir poniendo los dimms de a uno, viendo si el sistema los va reconociendo. Para esto basta con entrar al BIOS, no es necesario bootear el sistema operativo.

En el siguiente post estaremos viendo el lado “Software” de todo este asunto y por qué no podemos ver los 8GB desde el sistema operativo.

Continúa leyendo:

Actualización de Memoria - Decidir qué comprar. (parte 1/3)

Con la llegada de las nuevas memorias DDR3, decidí que finalmente era momento de actualizar la memoria de mi PC de escritorio antes de que en Uruguay se complicara el asunto de conseguir de las “viejas” memorias DDR2.

Cuando compré las partes de mi PC por Setiembre de 2007 me decidí por un motheboard Intel DG965ry, principalmente por el hecho de soportar hasta 8GB de RAM en 4 sockets dual channel. En aquellos tiempos 2GB de RAM era suficiente por lo cual no me molesté en adquirir más, sin embargo llegado el momento de actualizar decidí ir por 8GB directamente.

Saber qué comprar

Antes de comprar memoria, siempre es importante determinar cuales son los modelos compatibles con nuestro sistema, no queremos comprar una memoria que luego no podremos utilizar en nuestro equipo. El sitio web de Intel es una excelente referencia para esto si es que tenemos motherboards de este fabricante. El DG965ry soporta únicamente memorias de 240 pines a 1.8V.

Lo segundo a tener en cuenta es cuánto queremos comprar y saber si el sistema será capaz de soportarlo. Resulta que este motherboard en particular soporta un máximo de 8GB de RAM a 667MHz o (únicamente) 4GB a 800MHz, por lo cual si realmente queríamos subir a 8GB habría que ir por memorias de 667MHz. Si es mejor tener menos memoria pero más rápida o viceversa es un tema de discusión abierta y la respuesta dependerá exclusivamente del uso que se quiera dar al sistema.

Sabiendo ahora qué necesitamos, opté por adquirir memoria Kingston. Tenemos 4 sockets, por lo cual lo más razonable parecía comprar 4 dimms de 2GB, los cuales son bastante fáciles de conseguir a un precio razonable en sitios como Tranza o similares (U$S 26+IVA c/u). Unos 8GB nos quedaría alrededor de 104 dólares + shiping + IVA, algo común dado el hecho de que el mercado de la memoria está deshecho (¡gracias Vista!).

En el próximo post estaremos viendo el proceso de instalación, el cual implicará abrir el PC y remover los dimms para reemplazarlos por los nuevos.

Continúa leyendo:

XO-2 podría utilizar procesadores ARM

Hacía un tiempo comentábamos sobre los planes de AMD de discontinuar la línea de procesadores Geode, los cuales son utilizados en algunos dispositivos como las computadoras XO, entregadas en el parco del Plan Ceibal.

Aparentemente OLPC, la empresa detrás de la XO, estaría planeando cambiar a procesadores ARM para la siguiente versión de los equipos: la llamada “XO-2″. Los procesadores ARM son generalmente utilizados en dispositivos móviles (como celulares, iPods, calculadoras, etc) y permitirán obtener mayor provecho de las baterías de las XO, al consumir menos poder.

Asimismo, los procesadores ARM no son basados en la arquitectura x86, por lo cual no son capaces de ejecutar las versiones más comunes de Windows -en particular XP-. Quedará pendiente ver cómo afectará esto las relaciones entre Microsoft y OLPC.

Linux, por su parte, está portado a ARM, arquitectura sobre la cual es bastante utilizado. A nivel de Ceibal-Chess nos encontramos bastante aislados de este cambio al estar trabajando siempre sobre Python. Restará recompilar gnuchess para ARM ;)

Puedes leer más sobre la arquitectura ARM aqui >>.

Configurar IP estática en Fedora 10

Al parecer hay un bug en la forma en que Fedora 10 permite configurar una dirección IP estática a la máquina en la cual se encuentra corriendo. Tras haber dado con este hilo en el foro de linuxquestions.org, me encuentro con que se llegó a la conclusión de que la aplicación para configurar la dirección IP introujo un bug entre las versiones 8 y 10 de Fedora, el cual no permite registrar la máscara de red asignada a la placa de red.

Por suerte en Linux siempre podemos hacer todo desde consola, salteandonos la aplicación que presenta este bug. A grandes razgos, los pasos a seguir son los siguientes:

  1. Abrir una terminal y volverse root.
  2. Matar definitivamente el NetworkManager: chkconfig NetworkManager off; service NetworkManager stop
  3. Editar el archivo de configuración de la interfaz, para eth0 sería /etc/sysconfig/networking/devices/ifcfg-eth0

Finalmente, configurar las opciones para la placa. Una configuración de ejemplo sería la siguiente. Pueden encontrar las opciones necesarias para activar IPv6 en el foro.

DEVICE=eth0

HWADDR=xxxxxxxxxxxx

BOOTPROTO=none

BROADCAST=10.10.10.255

IPADDR=10.10.10.2

IPV6INIT=no

NETMASK=255.255.255.0

NETWORK=10.10.10.0

ONBOOT=yes

DNS1=200.40.30.245

DNS2=200.40.220.254

GATEWAY=10.10.10.1

TYPE=Ethernet

NM_CONTROLLED=no

USERCTL=no

PEERDNS=yes

Otros post relacionados:

Ceibal-Chess Beta I - Testers Needed!!

Me complace poder anunciar que con las últimas adiciones al código, estamos listos para comenzar a hacer un testeo más difundido del programa. Estamos buscando voluntarios!! :) Quienes quieran darnos una mano, pueden descargarse un zip conteniendo todo lo necesario para correrlo en Windows, Linux y Mac de: http://www.algorithmia.net/ceibal-chess-beta.zip.

Ceibal-Chess está desarrollado en Python y utiliza Pygame, por lo cual ambos son necesarios para poder ejecutarlo. Quienes utilizan Windows van a tener que instalarse ambos programas: python 2.6 y pygame 1.8.1-py2.6. Una vez instalados simplemente se extraen los contenidos del zip, y dentro de la carpeta ceibal-chess, doble click en el achivo “main” (main.py).

Quienes usan Linux seguramente ya disponen de una versión de Python 2.x, por lo cual únicamente deberán instalar pygame. Este se encuentra en los repositorios de las distribuciones más polulares bajo el nombre “pygame” o “python-pygame”. Para ejecutarlo simplemente se debe descomprimir el archivo, cd al directorio ceibal-chess y ejecutarlo como python main.py

Otras plataformas pueden consultarse en el FAQ oficial.

Los requerimientos oficiales mínimos para esta versión son: CPU 500MHz, 32 MB RAM (64 recomendado) y 4 MB de disco libre (no incluye espacio requerido por los logs).

Los invitamos a descargarse el programa, probarlo y enviarnos su feedback, este es muy importante para nosotros! Como siempre, pueden encontrar mucha más info en el sitio: http://code.google.com/p/ceibal-chess, en particular les recomendamos leer el FAQ, o bien pueden preguntar por aquí ;)

Las XO se quedan sin procesador

Leo en Slashdot que AMD, fabricante de los procesadores Geode utilizados en varios dispositivos de bajo consumo -entre ellos la XO- al parecer no tiene planeado ningún remplazo para el mismo para el mediano, corto o largo plazo.

Los procesadores Geode son los utilizados por las computadoras entregadas en el marco del Plan Ceibal en nuestro país, lo cual da a pensar qué sucederá con los futuros equipos que se compren a OLPC. Puede ser que los procesadores Geode sigan siendo utilizados en la XO y no se realice ninguna actualización: Negroponte -jefe de OLPC- nunca fue fanático de aumentar las especificaciones de Hardware de los laptops, o bien puede que sea un punto más a tratar en la agenda para el diseño de la sucesora de la XO, la XO-2.

Según los analistas, en los duros tiempos de la crisis internacional, el procesador Geode no se encuentra en la lista de prioridades de los ejecutivos de AMD.

Virtual Box 2.1

Leo en LifeHacker acerca de la nueva versión de Virtual Box (2.1), que acaba se ser liberada recientemente.

Según describen en el artículo, se trata de una “actualización importante”, la cual incluye un montón de features experimentales. Entre ellas, las que más llaman la atención son:

  • Soporte para virtualización por Hardware sobre Mac OS X.
  • Soporte para virtualizar sistemas de 64 bits sobre sistemas de 32.
  • Aceleración 3D experimental sobre OpenGL.
  • Nuevo motor de NAT más performante y confiable y soporte para ping (al fin!).
  • Otras…

Vritual Box se puede descargar como un producto comercial gratuito o en su versión Open Source, con algunas features menos. Pueden descargar la versión más reciente desde virtualbox.org.