Fin de semana libre

Python — Lunes 13 de Noviembre de 2006, 17:55

Bueno, pasó CaFeConf 2006. La verdad, un éxito absoluto.

El viernes estuvo más tranqui. Fui a dos charlas y media (fui a tres, pero presté atención en dos, :p), y el resto del tiempo estuve en la mesa/stand que teníamos de PyAr en la conferencia. Colgamos la bandera, recien estrenada, arriba; acá hay una foto con Alex Martelli:

Bandera PyAr y Alex

Las dos charlas estuvieron muy bien. En la primera Anna Ravenscroft Martelli nos contó el papel de las mujeres en las Tecnologías de la Información, explicando que lo que normalmente hay es una barrera de entrada: una vez la mujer está adentro del sistema, se comporta con la misma capacidad que el hombre, pero basicamente le cuesta entrar.

La otra charla era sobre el proyecto Gnome. Yo siempre usé Gnome, primero en Fedora Core, después en Ubuntu. Y Gnome es un proyecto muy relacionado con Python. Ergo, la charla me interesó muchísimo. Estuvo muy bien.

El resto del día lo pasé en la mesa, contestando preguntas a los que se acercaban, mostrando los juegos que hicimos en Python para PyWeek (especialmente TypusPocus). El tener una mesa en CaFeConf fue muy bueno, es una propaganda inmejorable: ahora sé por qué las empresas pagan tanto dinero por tener un stand en las conferencias.

Reunión en la Casa del Queso

El cierre de la jornada estuvo dada por la decimonovena reunión de Python Argentina. Fuimos a La Casa del Queso, cerca del Abasto, donde comimos y tomamos muy bien. Como se preveía, mitad por ser después de la conferencia, mitad por tener invitados internacionales, tuvimos un nuevo record de asistencia, pero para más detalles esperaremos la minuta oficial.

El sábado estuvo más movidito. Arranqué temprano con mi charla. Con Mariano, cinco minutos antes de que empiece, pudimos configurar mi laptop para que use el proyector, así que estaba contento. Tuve que arrancar pasadas las once y diez, porque seguía llegando gente (y siguió llegando gente: ocuparon todos los asientos, se quedaron parados, y dejaron de entrar porque no había más espacio). Me gustó mucho como me quedó armada la presentación, basicamente porque a la gente le interesó, se quedaron enganchados, preguntaban, participaban, todo muy bien.

Facu introduciendo Python

El único punto complicado fue que me quedé sin tiempo para toda la presentación. Me apuré al final, pero no llegué a terminarla. No me quería ir, y el público tampoco, pero finalmente tuve que cortar.

Alex Martelli en CaFeConf

Luego del almuerzo vino la charla plenaria de Alex (Qué es Python y porqué importa), que estuvo muy bien, y seguimos toda la tarde con Python: fui a ver a la oveja eléctrica de Santiágo, y a Alecu contando la experiencia de hacer un juego en una semana. Muy buenas ambas charlas.

Dave y Alecu

A las 19hs, cuando ya estábamos todos muy cansados, vino el cierre de la conferencia. Con Leito Monk sobre el escenario, mostrando un lado showman que yo no conocía (pero que no tiene nada que envidiarle a Billy Crystal), el cierre estuvo fantástico. Discursos de los organizadores (incluído el propio Leito), sorteos, videos, todo muy completito. Un cierre como corresponde.

Cierre con todos arriba del escenario

Al otro día, domingo, el fin de semana continuó, ya que nos juntamos en Bella Vista, en casa de los padres de Mariano, él mismo, Lucio, Leito, Yaco, Dave, Nubis, Pablo y yo, como integrantes de Python Argentina, novias (algunas no) para que el festejo sea completo, y dos invitados de lujo: Alex y Anna Martelli.

Alrededor de la mesa

El asado lo hizo Mauricio, y la verdad es que comimos muy bien. Mónica hizo unas galletitas de queso para el aperitivo, y flan y brownies para el postre y la tarde. Sol, mate, helado, y mucho, mucho vino acompañaron el resto del día.

Alecu, Moni y Alex, relajados

La verdad es que no quería irme, por lo bueno que había sido todo, pero ya se había hecho de noche, y decidimos marchar con Mónica. Nos quedaron, sí, algunas fuerzas para visitar a Sofía, la nueva integrante de la familia Diego-Diana-Josefina, :). Pero llegamos a casa molidos, y el sueño me dura hasta ahora, :p

Se viene, se viene...

Python — Jueves 09 de Noviembre de 2006, 01:19

...CaFeConf 2006, las quintas conferencias abiertas de GNU/Linux y Software Libre.

Este año, como el pasado, doy una charla: Introducción a Python. Pero este año tiene un gustito particular.

No sólo estoy más comprometido con la conference personalmente (me tomo el viernes en el laburo y voy a ir ambos días de la conferencia todo el día), sino que también tenemos más presencia, como grupo, con Python Argentina (vamos a tener una mesa, finalmente tenemos bandera para mostrar, etc.).

Además, es un fin de semana especial por otro motivo. Traemos para la conferencia, como invitados, a Alex Martelli y Anna Martelli Ravenscroft (los tengo que ir a buscar en un par de horas al aeropuerto). Obvio, aprovecharemos que los tenemos acá, y haremos una reunión de PyAr, la decimonovena, en la Casa del Queso.

Les dejo dos enlaces a notas del diario La Nación y de InfoBAE. Ojo que en el diario La Nación está mal el nombre de Alex (es una vergüenza, nadie chequea nada, nunca crean lo que leen en un diario), ya que la primer gacetilla de CaFeLUG salió incorrecta (pero luego la rectificaron).

Bandera PyAr - Votación

Python — Miércoles 25 de Octubre de 2006, 18:52

Estamos a miércoles, y el viernes se cierra la votación de la primer bandera de Python Argentina (más info acá, con estos diseños, pero para votar tienen que estar suscriptos a la lista de PyAr).

Yo propuse cuatro modelos. Y tuvieron bastante buena aceptación: Aunque no voy ganando, porque el modelo Pablo6 me desplaza del primer puesto, tengo los cuatro modelos dentro de los siete más votados.



El viernes cierra la votación, hay dos días para hacerle alguna que otra modificación menor, y el lunes ya se manda a imprimir, :D.

Gracias a Alecu, por llevar adelante este proyecto.

Saliendo a jugar

Python — Lunes 25 de Septiembre de 2006, 16:58

Acá comenté como habíamos arrancado PyWeek 3, vean el post para la primer parte del relato e info genera de qué es eso. Ahora termino la épica historia.

Durante la semana, no pude hacer mucho, que es un eufemismo para dar entender que no tuve ni mierda de hacer un carajo. Pero me reservé la noche del viernes porque nos volvíamos a juntar en lo de Leito.

Así que el viernes, después del trabajo, partí para su casa, bien cargado de ceros y unos para alocar nuestros bits.

Llegué primero, pero al rato ya estábamos todos lo que éramos. Luego de las configuraciones de red de rigor, nos pusimos a seguir trabajando. Discutimos lo que correspondía luego de la semana, y más o menos nos dividimos las tareas. Como la parte que yo había comenzado el fin de semana anterior la había terminado, y en la semana no había hecho nada, me busqué una tarea.

La encontré fácil: debía con Nubis diseñar diez niveles en sus distintas facetas (tipo de público, elemento a desaparecer, historia de entrada, historia de salida cuando ganás y de cuando perdés, y hechizo). A priori iban a ser diez temas por separado, pero nuestras retorcidas mentes dieron con una historia que hacía fluir los diez capítulos.

Luego de tan ardua tarea, ya eran casi las dos de la mañana, así que boludeé un rato y ya me vine para casita. Al otro día luego de una mañana de compras, me puse también con el juego. Ya no físicamente con los chicos, sino en casa, coordinando por IM y/o chat.

Estuve más que nada buscando detalles que construir o solucionar, y previo permiso de alguien que estuviese físicamente reunido en lo de Leito, lo hacía. Algunas tareas eran de dos minutos, otras de treinta, y así se fue el resto de la tarde.

La hora límite eran las 21 de Argentina, pero nosotros nos pusimos las 8 como momento para dejar de incorporar cambios. Los últimos momentos tuvieron bastante adrenalina, porque el tiempo se acababa, sabíamos que cada cambio iba apenas a ser probado, y nuestros cerebros ya estaban quemados.

Yo corté alrededor de esa hora, sí, aunque los chicos siguieron unos veinte minutos. Hice un svn commit, y al toque le avisé a Lucio que retiraba mis manos del teclado, :). En esos momentos, Moni se venía con una espectacular picada para comer y ver una peli, ¡es genial!

Los chicos terminaron de armar el paquete con el juego, y lo subieron al sitio.



Entre participantes individuales y por equipos, se subieron 30 juegos antes de la hora límite. Tuvimos dos semanas para evaluar los juegos (los juegos se evalúan por los participantes del concurso, no por el público en general). Las evaluaciones corren por tres carriles:
  • Diversión: si el juego era divertido de jugar, si uno lo jugaría más de una vez.
  • Innovación: si el juego tenía algo nuevo en términos de tema, tipo de juego, etc.
  • Producción: gráficos, sonido y música, y que estos elementos estén balanceados.

En cada punto, se votaba del 1 al 5. También se podía indicar si el juego debía ser descalificado porque violaba algunas de las reglas de la competencia.

La cuestión es que al fin de semana siguiente me bajé tooooooodos los juegos, y los jugué (o intenté jugar) intentando evaluar estos parámetros. Y los voté, uno por uno. La mayoría de los participantes hizo lo mismo, y el sábado pasado caducó el plazo de las votaciones, y se eligieron los ganadores, un ganador por equipos y uno individual.

¡Y ganamos!

Siiiii, salimos primeros en la competencia por equipos, :D. Como pueden ver en los resultados, sacamos un 3.5 en diversión, un 3.5 en innovación, y un 4.5 en producción. En promedio, 3.9 puntos.

Y el equipo de Python de Córdoba salió tercero, ¡felicitaciones para ellos también! Realmente demostramos que PyAr está para cosas grandes, :D

Pueden bajar el juego de acá. Para probarlo, tienen que tener Python instalado (lo pueden bajar de acá) y PyGame (de acá).

Juéguenlo y me cuentan, :)

Arrancando PyWeek 3

Python — Lunes 04 de Septiembre de 2006, 17:15

Este fin de semana arrancamos con PyWeek 3, la tercera edición de una competencia donde hay que hacer un juego en una semana (7 días exactos, para nuestro huso horario desde las 21hs del sábado pasado hasta las 21hs del sábado que viene). Por supuesto, al juego hay que hacerlo en Python.

Nos juntamos a las 7 de la tarde en la casa de Leito. Fuimos Lucio, Ricardo, Dave, Alecu, un tal Pablo, y yo. Leito ya estaba (obvio, era la casa), y Nubis pasó un rato.

Estuvimos discutiendo distintas alternativas, y a las 21hs en punto se conoció el tema del juego: The disappearing act (el acto de desaparición). Era uno de los que menos nos gustaba, pero nos pusimos a pensar qué juego armar. Fuimos a comprar vituallas para la noche y el día siguiente, mientras discutíamos distintas ideas.

Volvimos, y seguíamos charlando sobre distintas ideas. Pedimos comida, y ya íbamos delineando lo que queríamos. Mientras comíamos, seguimos puliendo detalles. Después de comer, cerrábamos los últimos cabos sueltos.

Poco después de medianoche nos pusimos finalmente a programar el juego. Separadas las tareas, equipos de una/dos personas trabajaban en puntos separados y cada tanto juntábamos las cosas, a veces pedíamos feedback de otros, sacábamos algún que otro tema a discusión, etc. Una forma de trabajo más que interesante.

Así toda la noche.

Yo me fui a las siete de la mañana. A esa altura ya teníamos hecho el motor del juego, casi toda la interfaz para el motor, el escenario, el público, etc. Leito ya estaba durmiendo, y Lucio estaba en eso. El resto, seguía trabajando.

Yo, despues de levantarme, no pude hacer nada en el juego porque tenía otras tareas, pero al final del día hice un update y ví que ya estaba todo integrado. Tenemos que usar estos días para pulir detalles, y tratar de llegar al sábado con un producto final, apuntando a la jugabilidad.

¡El finde que viene les cuento!

Misterios en lo profundo del byte

Python — Lunes 14 de Agosto de 2006, 11:14

La semana pasada me encontré con uno de esos misterios justo trabajando con MySQL, en el laburo. Hace rato que no me pasaba.

Tales misterios, para los que no están acostumbrados, son aquellos en que surge una dificultad técnica, pero disfrazada de acontecimiento que se califica como "no puede ser", "me está haciendo algo raro", "che, esto se rompió", etc., pero que luego resulta ser que uno está haciendo algo mal.

Lo divertido de tales misterios es que lo obligan a uno a leer, releer y analizar documentación, buscar en la web, aprendiendo muchísimo en el proceso.

El problema que tenía era que un colaborador mío estaba usando un módulo que yo tenía para acceder al MySQL desde Python, usando MySQLdb, pero con apenas algo de laburo para hacerla más fácil, y cuando insertaba algo en una tabla, por otro lado no veía lo insertado.

Es decir, el estaba con un programa por un lado, y con la linea de comandos del MySQL por el otro. Y cuando insertaba algo en la base desde el programa, no lo veía por la linea de comandos. Es más, a veces la inserción daba timeout porque la tabla estaba lockeada.

Luego de tres horas de buscar, probar, y reescribir mi módulo de MySQL utilizando la Python DB API 2.0, encontré cual era el problema.

Primero, algo que desconocía. Que cuando estás en una tabla InnoDB, que maneja transacciones, el SELECT también es una transacción, y como tal, luego de la misma, hay que hacer un COMMIT. Y lo otro es que al levantar una conexión con MySQLdb, el autocommit está por default deshabilitado (al contrario que por linea de comandos del MySQL que por default está habilitado).

Habilité entonces en mi módulo el autocommit, para que el SELECT no me bloquee la tabla y que luego me dé el timeout, y listo, :) Todo solucionado.

Costó, pero aprendí bastante más de InnoDB en MySQL, y aproveché para actualizar mi módulo, que la verdad es que era un desastre, después de todo fue mi primer clase hecha en Python!

Otras memorias de Python StaFe

Python — Miércoles 28 de Junio de 2006, 15:25

No quería dejar de comentarles dos otros relatos de la primer jornada de Python Santa Fe (aparte de la mía).

El primer relato es de Nubis, quien nos acompañó desde Buenos Aires, y cuenta bajo el punto de vista de un asistente, ¡está muy divertido!



El segundo relato es de Cesar Portela, uno de los organizadores, y está contado desde el punto de vista puramente de organizador. Si alguna vez tienen que organizar algún evento, ¡no dejen de leerlo!



Las fotos que les dejo acá están tomadas prestadas del sitio donde están todas las fotos sacadas, aquí.

Viendo videos sin conexión a internet

Python — Jueves 22 de Junio de 2006, 12:22

Ufff, como me cuesta volver a agarrar ritmo con el blog... la verdad es que no tengo tampoco taaaaantas cosas para contar, pero creo que algunas tengo y se me pasan.

Un ejemplo de esto servirá para el post de hoy.

Me hice un programita (en Python, por supuesto), que corre por linea de comandos, al que uno le pasa la URL del video que está viendo en Google Videos, YouTube, o los trailers en Apple, y el programita sólo te baja el video a disco, para luego verlo sin tener que estar conectado a internet.

Para ver los videos, no puedo dejar de recomendar a mplayer, que corre tanto en Windows como Linux, y es mi preferido porque reproduce casi todo, aunque sufre de inconvenientes como no tener una interfaz gráfica en Windows (¿pero quién se fija en esas cosas? ;).

Python en Santa Fe

Python — Jueves 08 de Junio de 2006, 03:55

Este fin de semana se realizó la Primer Jornada Python Santa Fe, en la Universidad Tecnológica Nacional, ciudad y provincia de, justamente, Santa Fe.

El fin de semana arrancó a las seis de la tarde del viernes, cuando tomamos ruta Alecu, Nubis, Pablo Z, Leito, Lucio y yo. Fuimos en dos autos, el de Lucio y el mío.

Llegamos tarde a Santa Fe, luego de una sola parada para cargar nafta. La idea era llegar y buscar un lugar para comer. Pero terminamos cayendo en la casa de amigos de Leito, Nicolás y Lucas. La verdad es que se super portaron, ya que nos dieron de comer ellos. Nosotros llegábamos con hambre, y ellos sacaron carne al horno con papas (ya cortada, como para picar), palitos, maníes, etc...

Prácticamente les comimos todo, y para no hacer diferencias, también les tomamos toda la cerveza, las que tenían y las que fueron a comprar. Mientras tanto, charlábamos y charlábamos de Python, Linux, y demás temas raros que nos apasionan a nosotros y a Luca, otro amigo que llegó después.

Ya que nos habían agasajado, decidimos devolverles el favor yendo a un boliche y pagando nosotros: arrancamos para El Potrero, el cual está muy bien: pool, música, cerveza, etc...



A eso de las dos de la mañana partimos para el hotel. Nos registramos con Lucio, y nos fuimos a dormir hasta las seis y media. Nos levantamos, bañamos, y bajamos a desayunar justo cuando nos pasaba a buscar Juanjo. Desayunamos y partimos hacia la facultad, en una mañana de sábado gris y con una llovizna muy molesta.

El día de charlas estuvo muy bien. Yo arranqué con Introducción a Python, y siguió Lucio con Python en el mundo real. Después comimos en la cantina de la Facultad, unas milanesas con ensalada que estaban muy bien.



A la tarde seguí yo con Demostraciones técnicas (Procesamiento distribuido, Sistema de Administración de CDs, Web services, y Booscadoor) y cerró Lucio con Magia negra en Python.

La Jornada fue un éxito: ¡¡280 asistentes!! El público no era gente de Python, sino estudiantes de las carreras de Ingeniería en Sistemas e Ingeniería en Informática, lo cual estuvo perfecto, ya que evangelizamos a full!! Creo que la gente se enganchó, le interesó, y se fue con una buena impresión de lo que es el lenguaje.




Después de allí nos fuimos unas diez o quince personas a un bar que tenía WiFi a realizar un sprint: trabajamos en un proyecto que tiene PyAr de armar una Wikipedia offline en un CD para distribuir a escuelitas.



Después nos separamos y se fue cada uno para su lado a refrescarse/cambiarse, y nos terminamos encontrando más tarde en el bar del día anterior, donde cerramos la noche con pool.

El domingo no volvimos en un sólo grupo, sino que arrancamos temprano Leito, Alecu y yo, y el resto volvió más tarde.

Resumiendo, fue una experiencia fantástica que creo que tenemos que repetir lo más posible. Salieron muchas cosas bien, y aprendimos un montón de esta experiencia. ¿Quién sigue? ¿Tucumán? Vamosssssssssss...

Verano (invierno) de código

Python — Viernes 05 de Mayo de 2006, 10:38

Más especificaciones con respecto al Summer Of Code de Google.

Los estudiantes que quieran encarar un proyecto (pueden elegir alguno de aquí y ver también más info) no tienen más que escribir una propuesta.

Luego de ser aprobada, se pondrán algúnos hitos y se irá evaluando el desarrollo del proyecto en el tiempo, durante lo que dure el verano (invierno aquí).

Al final del proyecto, el estudiante recibirá 4500 dólares de Google (otros 500 dólares van para la organización que coordinó el proyecto (en este caso, la Python Software Foundation).

Entonces... ¡a proponer ideas y ganar platita! :D

Noticias tres

Python — Martes 25 de Abril de 2006, 12:06

Google Summer Code

El GSC es un evento donde Google, a través de diversas asociaciones, le da dinero a estudiantes para que desarrolle programas que serán de beneficio a la comunidad. Estas asociaciones designan a distintos mentores, que son los que supervisarán los proyectos de los estudiantes.

El circuito es el siguiente. Una persona firma como mentor con Google, diciendo que pertenece a determinada asociación. Google confirma con esa asociación, y luego le otorga el título de Mentor a esa persona. Los estudiantes proponen proyectos y la asociación los aprueba (o los estudiantes directamente eligen de los proyectos que ofrece esa asociación), y luego se le asigna un mentor para que supervise el proyecto.

Al aprobarse el proyecto, el estudiante queda pegado con la asociación para terminar el proyecto (o completar distintas etapas), con determinados montos de dinero fijados. Al ir completando las etapas, o el proyecto total, se le pagará al estudiante la suma acordada.

La noticia es que firmé como Mentor con Google, a través de la Python Software Foundation, de la cual soy miembro, y ya me aprobaron. Como tengo cero tiempo libre, la idea es ofrecerle a la PSF la posibilidad de que acepte proyectos en castellano. No creo que agarre otro proyecto (aunque se está barajando el tema de reescribir Decimal en C, estaría piola ser mentor ahí).

Detalle de color: el cuestionario que uno llena en Google para ser Mentor, implica marcar en un mapa del mundo, usando google maps, la ubicación de uno, :)


Python 3000

Guido dió una charla sobre Python 3.0. Mucho de la charla, ya se conocía, pero yo me desayuné de varias cosas interesantes aquí. Lo más loco, es cuán superpuesto estará con el branch 2.x (o sea, que quizás salga el 2.6 y el 3.0 casi al mismo tiempo, pero seguirán viniendo 2.7, 2.8, etc, para que se tengan varios años de migrar a la nueva tecnología).

Los slides están acá.


Santa Fe

Se confirmó para el 3 de Junio, sábado, la Primer Jornada Python Santa Fé en la UTN de esa ciudad, al cual fuimos invitados como expositores Lucio y yo.

La idea es que demos un par de charlas cada uno durante el día. Como es un sábado, y ese viernes es laborable, viajaríamos a la tarde, llegamos directamente a meternos en el sobre en un hotel, y arrancamos el sábado tempranito.

Lamentablemente Mariano no va a venir, porque está llegando un par de días antes a Argentina, de su viaje por Europa.

Se terminó PyCon 2006

Python — Martes 28 de Febrero de 2006, 11:38

Ya dentro de un rato me pasa a buscar la camioneta de SuperShuttle que me lleva al aeropuerto. Dos aviones y mil controles más tarde estaré llegando a Argentina, tipo mañana a la mañana.

Ayer y hoy medio día estuve trabajando en Docutils. Como resultado del día y medio de trabajo, Docutils tiene ahora una interfaz gráfica que te permite abrir un archivo y procesarlo (traduciéndolo) a HTML, LaTeX o XML.

Le falta mucho laburo, pero la base está. La idea era sacarlo rápido, y ahora discutir sobre esa base lo que le queremos agregar o modificar. Estuvo bueno.

Además aprendí a usar un widget que muestra HTML, así que ya tenemos la mitad de la Ayuda de SiGeFi hecha, :p. Y también resolví unos warnings que nos afeaban el proceso de generar automáticamente la documentación de las clases.

Con respecto a las remeras, hoy vendí un montón más (unas 8). En total vendimos unas 17, estaban todos muy copados por el diseño, y hasta me lo pidieron para ver si lo usaban en las remeras de la conferencia del año que viene!! :)

Powered by LifeType