Archivo de la categoría: olpc

Cumpliendo sueños

“No puede ir mal haciendo lo que querés hacer…”

Hoy, más que nunca, y no porque fuera hoy un día especial, ni porque ayer haya sido ayer, ni tampoco porque mañana será mañana, o la semana pasada fue la semana pasada. Ninguno de ellos es especial en sí sólo, sino que colaboran entre sí para conseguir algo. Algo que quizás he imaginado muchas veces, pero que tampoco lo tengo tan claro ni lo puedo ver con tantos detalles.

Esta semana usé creo que por tercera vez la expresión: “Es el sueño del pibe” en conversaciones que están relacionadas a lo que estoy haciendo, a mi trabajo y a mis hobbies. Y sí, siempre soñé con hacer lo que hoy en día estoy haciendo: “Trabajar para y con Software Libre”

Hace unos cuántos años atrás, allá por el 2004 cuando tenía 18 años empecé a estudiar Ingeniería en Sistemas de Información en la Universidad Tecnológica Nacional. Con la ilusión y el sueño de algún día convertirme en Ingeniero. Ingeniero, ¿entendés?. Un tipo que se la ingenia, y encima aplicado a Sistemas de Información. Era la carrera perfecta.

Con el paso de los años en esa carrera, estudiando, reprobando y aprobando, puteando y discutiendo con docentes; me dí cuenta que eso no era realmente lo que yo había soñado cuando empecé a estudiar. Sabía que tenía otra forma de pensar y que quería trabajar con gente que tenga una filosofía parecida a la mía. Sin embargo, desconocía totalmente que ya existía mucha gente con la que compartía los mismos ideales de libertad.

Mientras pensaba qué hacer, y me preguntaba si realmente estaba tan loco y porqué iba en contra de las corriente Universitaria; dónde todos hacían los que el profesor decía y ya. Nadie se oponía, nadie compartía algo sobre lo que había estado investigando (si es que alguno hacía algo extra). Normalmente era: “estudio las páginas que dijo que había que estudiar y nada más. Eso no lo va a tomar”.

Así, se me pasaron algunos años en la Universidad, intentando estudiar y aprender sobre todo. Siempre que mi familia me preguntaba: “¿Estás estudiando para la facu?” yo contestaba: “No, estoy estudiando para mí. Porque me gusta”. Y parecía que se quedaban helados.

Llegó la “1era Jornada de Python en Santa Fe” dónde tuve mi primera aproximación con Python y ahí fue dónde empezó todo. En esa jornada conocí mucha gente relacionada con la programación y el mundo del Software Libre. Gente que estaba insertada en el mercado laboral de la programación y podía comentarme situaciones del mundo real -a diferencia de las cosas que veía día a día en la facultad-. Una vez que terminó esa jornada dije: “No puede ser. Tengo que aprender esto. Es fantabuloso”. Y así fue como día a día le dedicaba horas y horas a estudiar Python. Incluso llegó un momento dónde me pasaba más tiempo programando en Python que estudiando las cosas que me daban en la facultad. Empecé a darme cuenta que lo que yo quería venía por el lado de Python y el Software Libre más allá que por la facultad y los temas que se trataban ahí.

Quemé pestañas día a día delante del monitor. Estudiaba muchas horas por día y siempre aplicaba las cosas que aprendía (de hecho las aprendía para hacer algo que ya tenía en mente, más allá que simplemente por aprenderlas) en programas que desarrollaba porque me parecía simplemente que eran buenos, que la gente los podía llegar a usar con un fin en particular. Así, en esa época hice un programa de Teoría de Música, en el que se podía ver cómo estaban formados los acordes y además ver las diferentes posturas que ellos tenían en la guitarra. También hice un catalogador de Cds llamado “Kataloga”. Éste ya tenía una interfaz gráfica y además usaba una base de datos (un concepto totalmente nuevo para mí en esa época ya que en la facultad ni cerca de dar eso todavía). Joder! Me acuerdo de estas cosas y me da lástima: en 3er año se ve “algo” de base de datos.

Al lado de la comunidad de Python Argentina fui creciendo día a día hasta que me propusieron dar una charla en una conferencia. Wow! ¿yo? ¿y porqué yo debería dar una charla? ¿quién soy yo?. Ahí hice otro click. Me di cuenta que, si bien “no era nadie”, podía compartir todo lo que había aprendido sobre Python y contar mi experiencia personal: “sólo hay que animarse y hacerlo”. Entonces, encaré ese proyecto también: dar una charla. (link a post de la charla)

Tiempo después, me empecé a interesar por el mundo de la Internet y quise aprender a hacer un sitio web. ¿Qué necesitaba saber? ¿Con quién podría hablar sobre esto?. Lamentablemente, siempre me pasó lo mismo en mi ciudad: no conocía a nadie que esté metido en estos temas. Sí, los de la facultad, pero como dije antes, sólo estudian las páginas que dice el profesor. Entonces, ni hablar de preguntarles sobre algo que, obviamente, no se da en la facultad. Por esa época, no recuerdo exactamente cuándo fue, conocí un Framework para hacer páginas web llamado Django y con él el primer BOOM en vida. Gracias a ese framework mi vida cambió completamente hasta convertirse en lo que hoy es.

Empecé primero intentando leer el libro oficial en su primera versión en Inglés. Leí varias capítulos, hice algunas pruebas que estaban en el libro, seguí los ejemplos y demás. El libro me parecía fantástico, re bien explicado, y además el framework era (y lo sigue siendo) genial. Por esa época, ese framework también era un boom. Recién salía una versión muy muy estable y su uso crecía de forma exponencial. También con ello se creó una gran necesidad de tener una versión en Español del libro, ya que a mucha gente le resulta más fácil leer en su idioma natal. Uf! Con eso vino una idea, un idea un poco bastante ambiciosa que fue la de traducir el libro y sacar la versión oficial en Español. Sí, traducir un libro y publicarlo con una licencia libre. Que todo el mundo lo pueda descargar en su versión .pdf y leer libremente.

Me puse manos a la obra, creé un repositorio para ir alojando las traducciones del libro y comencé a convocar gente que me ayude en la traducción. Mucha gente de PyAr me dió una mano gigante y muchos incluso trabajaron más que yo. Por suerte la traducción del libro se finalizó y pudimos liberar una versión en Español y con ella vinieron muchos emails de distintos lugares del mundo agradeciendo el enorme trabajo que habíamos hecho. Incluso, algunas Universidades de España me escribían para preguntarme si lo podía usar en el aula. Imaginate, sonrisa de oreja a oreja: “¡Claro que pueden! Para eso lo hicimos”

Ese gran quiebre que viví al conocer Python allá por el 2006 me cambió completamente la vida y realmente me hizo replantearme muchas cosas. Me hizo empezar a luchar por las cosas que en verdad yo quiero hacer y dejar de lado las que no son tan importantes. Conocí el Software Libre gracias a Python y con él también a muchísima gente buena, que lucha por sus ideales y que cree en una Cultura Libre.

Un día, me llama un ex profesor (César) de la Facultad y me pregunta si me animaba a dar clases particulares de Python para unos chicos de secundaria. “Pf! ¿Vos estás loco?” -le dije. Y me comentó que él no podía enseñarles porque no tenía tiempo y que sabía que yo estaba metido en el tema, que les podía ser de mucha ayuda a esos chicos porque no conseguían profesor por ningún lado. Lo pensé bastante, no me animaba ni ahí, pero lo veía por ese lado: podía ayudar a otros que lo necesitaban. Si bien dar clases no era lo mío y tenía 0 experiencia, había otros a los cuales mi conocimiento (con 0 experiencia en la docencia) les podía servir.

Acepté, y les dí clases particulares a tres chicos de secundaria durante 5 sábados si mal no recuerdo. Por suerte, estuvo bastante bueno y veía que los chicos aprendían lo que les explicaba. Igualmente, eran bastante vagos para hacer la tarea que les daba y estudiar (sí, les daba tarea). Ese, “Profesor Particular De Python” fue mi primer trabajo relacionado a la computación; y fue ese trabajo el que me hizo darme cuenta que me quería dedicar de lleno al mundo de las computadoras, el Software Libre y la buena vida 🙂

La vida siguió, el estudio siguió y yo seguí cumpliendo sueños. Después vino un trabajo en la misma oficina que César Ballardini en el Ministerio de Innovación y Cultura de Santa Fe dónde me levantaba cada día con más ganas de ir a trabajar y a aprender que el día anterior. Aprendía mucho de Software Libre y de SysAdmin de la mano de César. Siempre estuve muy agradecido de haber podido trabajar con él. Pero también, antes de aceptar el trabajo le pregunté a César: “¿Porqué a mí me llaman? Yo no sé nada de Linux, soy un simple usuario, nada más”. A lo que él me contestó que “él sabía que lo que yo sabía era más que suficiente y que confiaba en mí”.

Pasé un buen tiempo en el Ministerio, con algunos alti-bajos pero siempre estaba contento de alguna manera porque ese trabajo era una enciclopedia sagrada para mí. Trabajaba todos los días entre 5 y 7 horas por día con el tipo al que le hicimos un homenaje hace unas semanas.

Tiempo más tarde, la vida me puso en una encrusijada ya que me ofrecieron un trabajo nuevo como programador web utilizando Django (el framework del cual había traducido el libro). Wow! Otra vez, no lo podía creer. Me estaban ofreciendo hacer algo que era demasiado importante para mí y que lo hacía por hobbie (estudiar y programar sitios web) y ahora encima me querían pagar.

Lo pensé, analicé la situación, qué perdía y qué ganaba. El tiempo pasaba y pasaba, hasta que dije: “Lo que yo quiero hacer está allá, con Django. Vamos para ese lado, después vemos que hacemos si sale mal”. Y me mandé de cabeza. Laburaba como un loco porque tenía los dos trabajos en ese momento hasta que se me termine el contrato de Cultura. Entonces hacía 5 horas de mañana en la oficina y 6 horas de tarde en la empresa Machinalis (de hecho, muy recomendable) en dónde trabajaba con muchos de mis amigos de Python Argentina, de los que día a día aprendía infinidad de cosas. Trabajé mucho en esa empresa, me sentía bien y ellos tenían trabajo para mí.

Después dejé de trabajar ahí y quise dedicarme de lleno a estudiar Inglés, porque sentía que mi aprendizaje en el mundo de la computación estaba completamente obstruído por mi des-conocimiento en el Inglés. Esto me impedía seguir aprendiendo, y eso era muy duro para mí. Así fue como averiguando y pensando qué hacer, decidí meterme de lleno a estudiar Profesorado en Inglés en Paraná, en la UADER. Donde conocí un mundo nuevo. Una facultad en dónde los docentes están muy interesados por enseñar y porque los alumnos aprendan. Cada día que pasaba me gustaba más ir y le dedicaba todo el tiempo a la facultad. Me parecía hasta divertido estudiar y más aún aprender. En esa facultad conocí muchos profesores que realmente vale la pena tener como profesores. Estaba emocionado, nunca me había pasado eso: ir a la facultad con muchas ganas, prestar mucha atención en clases y estudiar con una sonrisa día a día. Era una sensación nueva que de hecho no entendía muy bien.

Pasaron unos meses de haber empezado nuevamente la facultad y sentía que estaba aprendiendo mucho Inglés pero que por otro lado no lo estaba utilizando para lo que realmente lo había empezado a estudiar: seguir estudiando computación. Entonces, decidí buscar un trabajo part-time, que me lleve sólo un rato del día en el que pueda programar y tener una comunicación en Inglés con gente del exterior.

Por suerte, ese trabajo lo encontré (en la empresa Anue) y me sentí muy cómodo con él. Estaba relacionado con la creación de sitios web en Django utilizando la plataforma de Facebook, ya que era una aplicación para Facebook. Terminó ese proyecto y empecé otro y otro. Mientras tanto seguía estudiando Inglés y estaba muy contento con mi progreso en ambas tareas.

Además, por otro lado estaba entrenando Circo como una actividad física principalmente. Aunque con el tiempo me di cuenta que era mucho más que eso para mí y que le quería dedicar más tiempo además de las prácticas semanales que teníamos. Así, me junté con unos compañeros de la escuelita de circo municipal y armamos un circo bajo el nombre de: “Circulando Circo Callejero” con el cuál meses más tarde me estaría yendo de gira por Entre Ríos (link 1, link 2, link 3 y link 4)

El tiempo siguió pasando, seguí estudiando, trabajando y entrenando circo. Empezaba a pensar que estaba viviendo un sueño. Que estaba estudiando algo que realmente me gustaba, que trabajaba en algo que también me gustaba y que había encontrado una actividad física (hice de todo en la vida y nunca seguí nada en este ámbito) y que encima me gustaba también. Era algo de película, no me podía estar pasando a mí, pero sin embargo hacía mucho tiempo que quería trabajar en un proyecto de Software Libre. Soñaba con eso, con publicar libremente todo el código que escribía y poder ayudar a todas aquellas personas que quieran ver cómo está hecho lo que yo hice. Quería ser más libre aún…

Hoy, Sábado 2 de Junio de 2012, se cumplen un mes y un día que hace que estoy trabajando en el proyecto OLPC (One Laptop Per Child – Una laptop por niño). Un proyecto Internacional de Software Libre con la idea de diseñar una plataforma de aprendizaje para los niños de todo el mundo en el ámbito escolar. ¿Qué más puedo pedir? Me encanta programar, me encanta el Software Libre, me estoy dando cuenta de que me gusta enseñar y que encima me paguen por hacerlo: “Es el sueño del pibe…”

“Tiempo y dedicación hacen al artista… También lo hacen al médico.”

How do you work every single day with your XO?

Have you ever had to type all day long on your XO to test different things? How many times did you get frustrated because of its keyboard, trying to press the correct letter with your big finger? How many USB keyboards and mouses did you buy to solve this?

O.K. Today I found the most cheap and easy solution for this: using your habitual keyboard and mouse to control both. Yes, that’s it. Use the same PC that you use to fix bugs, to run sugar-jhbuild and more. There are two or three steps that you have to follow.

First of all, we have to install the necessary package to share the keyboard and mouse on our normal PC and the following ones will be done in the XO. The name of the package is: x2x. So, as I’m in Debian I have to run:

sudo apt-get install x2x

Now, we should connect to our habitual pc:

ssh -X «youruser»@«ip-habitual-pc»

And the final step is… the secret command:

DISPLAY=:0 x2x -to `echo $DISPLAY` -west

Peace of cake! Isn’t it? I used -west here because I have the XO at the left of my habitual PC, but in the other case you should use -east. So, after doing these steps you could control both computers with the same keyboard and mouse and testing will be more than easy.

Reference:

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 🙂