Archivo de la categoría: sugar

La Confusión de la Tortuga

Hace un tiempo que con Melina Coronel empezamos a hacer la traducción del libro «Turtle Confusion» de Barry Newell. Un excelente y muy conocido libro en el ámbito de la educación y la programación. Juntos hicimos un esfuerzo muy grande para llevar adelante este proyecto, en el que aprendí muchísimas cosas en relación al Inglés y a la confección de un libro en cuanto a su edición utilizando herramientas libres. Personalmente, estoy muy contento porque hacer uso de éstas herramientas fue un desafío para mí. En algunos casos, porque no las conocía (como a rst2pdf) y en otros casos por tener que explicárselas a Melina, quien nunca había tenido contacto con ellas. Por ejemplo, Fedora linux, git, github, rst, gedit, la terminal, y un grandísimo etcétera aquí. Afortunadamente, ella me hizo éste trabajo muy fácil ya que se adaptó a todas esas herramientas de una manera sorprendente. Ésto me hizo dar aún más ganas de ponerle pilas a la traducción en general y terminarla.

Hoy estamos haciendo la publicación oficial del libro en sus dos versiones: HTML y PDF, para que todo el mundo pueda hacer uso de ellas de la forma que quieran. Haciendo todo lo que permite una licencia libre como la Creative Commons BY-SA 😉

Estamos abiertos a cualquier tipo de sugerencias, comentarios o correcciones que puedan hacer sobre la traducción.

Primer OLPC Jam Session en Santa Fe, Argentina

Y se fue nomás, se terminó. Si bien ahora cada uno puede seguir programando e investigando desde su casa, ya no es lo mismo, ya nada será como antes. Tener un cobayo a tus espaldas mirando lo que cada uno tipeaba no tiene precio. Éramos unas perfectas ratas de laboratorio los 3.

El Viernes por la tarde salí para Santa Fe a encontrarme con mi tocayo (Manuel Quiñones) con la idea de programar un rato en el proyecto OLPC. Había cargado todas las cosas que se pueden necesitar en una situación así, desde la cámara de fotos, netbook, cables, lentes y demás hasta un librito de cuentos. Sinceramente, pensaba quedarme hasta tarde, como para que valga la juntada.

Cuando llegué, hablamos un rato, compartimos varios «ideales» -si se quiere- sobre el proyecto y qué pensábamos cada uno al respecto. También me comentó cuales eran más o menos los roles de las personas con las que había estado chateando este último tiempo en el canal de IRC. Después de esto, más o menos nos organizamos como para arrancar por lo más básico: decidir qué hay que hacer.

Hicimos un recorrido verbal por las distintas tareas que teníamos y también «asignamos» algunas prioridades. Esto fue decir: «A mí me gustaría hacer esto primero» 🙂 . Y así nos pusimos manos a la obra con la primera tarea:  «corregir algunos bugs de Browser». Estuvimos un buen rato viendo varios tickets y subiendo algunos parches, también comentando y cerrando tickets viejos. Creo que hicimos un buen trabajo 🙂

La siguiente tarea fue: «desbloquear un XO». Por algún motivo nos mandaron una XO que estaba bloqueada y necesitábamos desbloquearla para poder usarla. Sabíamos que había que desarmarla y que teníamos las instrucciones de cómo hacerlo, pero había algo que ninguno de los dos tenía idea: lo que íbamos a hacer. Nos pusimos manos a la obra siguiendo el instructivo para eso y seguimos los pasos tal cual. El problema que tienen estas XO es que cuando las prendés la pantalla queda completamente blanca y no te permite hacer nada, entonces lo que hay que hacer es desarmarla y actualizarle el firmware que traen de fábrica para que vuelva a funcionar.

Lo primero que hicimos fue ver qué cosas necesitábamos para llevar a cabo este procedimiento. Leímos línea por línea y nos encontramos con que necesitábamos un «screwdriver». «Un qué?» -se escuchó. Fuimos a Google Translate y pusimos esa palabra y… 2 segundos más tarde se escuchó: «¡Tenemos!» y una carcajada muy grande de ambos que duro un buen rato mientras repetíamos la frase: «Lo único que hay que saber es Inglés para programar» 🙂

Y ahí estábamos, nos sentíamos unos loosers totales. Tratando de descifrar qué teníamos que hacer con esta maquinita verda simpática. Por suerte, como primer paso, después de leer las cosas que necesitábamos y comprobar que teníamos todo, nos encontramos con un video que explicaba tal cual lo que teníamos que hacer. Lo hacía tan pero tan bien que incluso te decía como desarmar completamente la XO y nosotros: ¿qué hicimos?. ESO! Nos colgamos, y la desarmamos completamente por no leer la instrucción completa que dice claramente: «No es necesario quitar la pantalla». Volvímos a caer en la carcajada eterna y repetimos: «Lo único que hay que saber es Inglés» 😀

Bueno, finalmente teníamos la OLPCcompletamente desarmada y ya le habíamos enchufado el cable serial que nos habían dado. Así que seguimos con los pasos que quedaban que eran reemplazarle el firmware por uno que tenga ese problema. Todo esto estaba perfectamente explicado en el instructivo que teníamos, no le podíamos errar.

Seguimos adelante, confiados de nosotros mismos, pero nos encontramos con que la información que nos llegaba a nuestra máquina no era la correcta, no estaba completa, como que algunos datos se perdían entre una máquina y la otra. Algo raro estaba pasando. Probamos varias veces y seguía pasando lo mismo. Reconectamos cables, movimos cosas, tocamos ésto y aquello hasta que finalmente logramos terminar el procedimiento. Prendemos y voilá! Andaba JOYA

Nos reímos mucho, no podíamos creer que habíamos hecho las cosas bien y que habíamos pasado por tantas situaciones de riesgo. Cerramos todo y nos pusimos a jugar con las computadoritas un rato y cuando nos damos cuenta eran las 9:30 A.M. Hacía más de 12hs que estábamos programando y desarmando este bicho raro así que por decisión unánime nos fuimos a dormir.

Al día siguiente (Sábado), me levanto y automáticamente me vuelvo a sentar en la máquina: el OLPC Jam Session recién empezaba 🙂 . Comencé revisando tickets de Browser, que era una de las tareas que habíamos dicho que íbamos a hacer, y traté de resolver algunos. Después de un rato se levantó manuq y empezamos a trabajar juntos. Le pegamos hasta la noche y llegando la noche decidí quedarme a dormir nuevamente ahí: «Había muchos tickets de Browser por cerrar todavía» 😛

Le pegamos duro todo el día del Sábado también y a la noche, como para despejarnos un rato hicimos un poco de malabares y terminamos viendo una película con dibujos animados, en la que me dormí completamente y decidí mudarme a la cama cuando abrí uno de los ojos.

Hoy, Domingo 29 de Abril, me levanté a las 10:30hs y mandé mi primer parche de OLPC a las 12 o 13 aproximadamente. Los pibes no paraban ni un segundo. Era como una droga, queríamos programar. Estábamos cebados.

Por suerte llegó el medio día y nos obligó a salir: ir al supermercado a comprar las cosas necesarias para comer. Así que después de eso, yo seguí dándole un rato más mientras manuq cocinaba y luego de comer 2 tartas exquisitas (muy buenos los ravioles de la noche anterior también -me había olvidado de mencionarlo-) partí hacia Paraná; había considerado que era mucho ya, que me podía reventar la cabeza.

Y ahí está, se fue el Primer OLPC Jam Session en Santa Fe, Argentina (fotos). Gracias «manuq» por el tremendo aguante, por las pilas que le pusimos y la buena onda 🙂

Mi primer commit en OLPC

Estas últimas dos semanas se las estuve dedicando casi de lleno al proyecto OLPC. Sinceramente, perdí mucho tiempo en compilar Sugar con JHBuild. Personalmente creo que al proyecto le falta aliviar la puerta de entrada a los programadores. Incluso, hubo varias cosas que pude resolver por mi sólo (siendo un programador Python con experiencia) pero así y todo no pude terminar de compilarlo sin la ayuda que me brindaron en el canal de irc en FreeNode: #sugar

Con esto quiero decir que, el programador Python que simplemente quiere hacer una nueva actividad concreta y sencilla, antes de poder programar va a tener que luchar intentando abrir esa puerta de entrada y puede pasar que termine frustrándose y dejando su idea original de lado. Es por esto último que intenté aliviarle este trabajo a los programadores que trabajen en Debian con el post anterior.

En lo personal, el proyecto OLPC siempre interesó debido a que es algo completamente revolucionario e innovador. Muchos proyectos nacieron a raíz del proyecto OLPC. Además, es una propuesta ambiciosa, dónde se quieren hacer bien las cosas. Con esto quiero decir que si hay un bug que resolver, no estás peleando con el cliente para explicarle que «no hay que resolverlo así nomás» sino que hay que hacerlo bien.

Otra cosa que me gusta, y mucho, es que es Software Libre. El código que todos escriben (y ahora puedo decir: escribimos :P) está disponible en internet para que todos los vean, hagan correcciones y aprendan de lo que otro escribió. Además, las conversaciones de las listas de correo, las del IRC y demás. Eso es genial!

Una vez fui a Buenos Aires a una reunión de OLCP en La Tribu y me volví shockeado porque habíamos estado hablando un grupo de 20 personas, entre ellas maestras jardineras, psicopedagogos, maestras de primaria, psicólogos, y demás. Era buenísimo, mucha gente de diferentes ámbitos todos juntos para participar en un proyecto de Educación Innovador. ¡Espectacular!

Hoy, estoy orgulloso de haber hecho mi primer commit y… ni más ni menos que en la actividad Terminal (la consola de Sugar). Incluso era un ticket con historia, hacía más de 3 años que estaba abierto y aunque ya había un parche este no funcionaba correctamente. El problema básicamente era que cuando usabas la actividad en Full Screen (pantalla completa) y en la consola ejecutabas una aplicación que requiera el uso de la tecla Esc (escape), la señal nunca le llegaba a la aplicación ya que Esc se utilizaba para salir del modo Full Screen. Lo que se hizo fue deshabilitar el uso de la tecla Esc para salir del modo Full Screen y en cambio, enviarle esta señal a la terminal Linux en sí. Esto permitió utilizar aplicaciones como Vim en pantalla completa 🙂

Todo muy lindo, pero tengo que agradecer a Manuel Quiñones, Python Argentina, Gonzalo Odiard y Rafael Ortiz que me dieron una gran mano para poder hacer esto.

¡Estoy muy contento! 😀