Primer día
Nos levantamos temprano, bañamos, y llegamos tranqui a la apertura del evento. David Goodger, coordinador general de la conferencia este año, dijo algunas palabras, y le dejó el lugar a la primer keynote, que no me gustó mucho, y luego a Guido van Rossum, que habló de Python 3000.
Luego de un break, las charlas propiamente dichas. Buffer interface in Py3k (Travis Oliphant), donde me enteré un poco más de que iban los buffers; How import does its thing (Brett Cannon), contando la maquinaria del renovado import; y Running a succesfusful usergroup (Jeff Rush), que dió consejos generales y específicos sobre como armar un grupo de usuarios.
Luego, mientras el resto de la gente comía en los pasillos, los miembros de la Python Software Foundation nos juntamos en una habitación donde también comimos y tuvimos la reunión anual, donde se hablaron varios temas (si quieren la minuta seguramente aparecerá en unos días en el sitio de la PSF). Por lo pronto yo pregunté como era el tema de la marca PyCon, y si la podíamos usar en Argentina (sí podemos), y clarifiqué un poco cuándo se necesita que la gente que envía correcciones de Python firme un papel contra la PSF cediendo el copyright.
Después estuve en un par de charla que no me gustaron mucho, excepto la de un filesystem distribuído robusto, y más tarde vinieron las Lightning Talks. Como siempre que voy a una conferencia afuera del pais, hablé sobre Python Argentina (pueden ver las filminas acá). Hubieron otras charlas interesantes, contando productos, herramientas o proyectos que tengo que investigar un poquito más: Una base de datos abierta con el conocimiento del mundo [-], una biblioteca con material cultural de todo el mundo [-], y un wiki con un montón de info sobre Python mismo para dar apoyo a grupos de usuarios, con material y todo [-].
La charla que di trajo inmediatos frutos. Al toque se suscribió una nueva persona a la lista, Jeff Elkner me vino a preguntar si le podía dar una mano con unas traducciones para un grupo que estaba en San Salvador, que no tienen una comunidad armada y necesitaban ayuda, y en general varias personas se acercaron a hablarme sobre PyAr, incluso gente de Uruguay, México, y Argentina mismo.
Un rato después de terminadas las charlas, me enteré que iba a haber una reunión con mentores y estudiantes del Google Summer of Code. Estuvimos como una hora haciendo un brainstorming acerca de cómo habían salido las últimas dos ediciones, qué deberíamos cambiar, que deberíamos dejar como estaba, etc. Luego Google nos invitó a los que estábamos ahí a comer y beber en un restaurante cercano. La cena duró bastante, pero así y todo a las once y cuarto estaba nuevamente en el hotel. Estuve un rato abajo, leyendo mails, y luego subí, tratando de no hacer ruido para no despertar a Lucio y Riq... pero ellos no estaban en la habitación, así que me acosté, para mañana no estar demasiado roto...
Segundo día
Nos levantamos bien temprano, desayunamos y nos metimos en la plenaria para ver las keynotes. La verdad, más menos que más, ya que estuvieron haciendo unos anuncios sobre el proyecto Twisted, todo medio desordenado, y la otra keynote fue sobre aspectos legales (que de por sí es interesante, pero la charla no tenía mucha estructura y aburría).
Luego de un break, venían tres charlas a las que yo quería asistir, por lo que me anoté para ser Session Chair (o sea, la persona que presenta al que va a hablar, lo ayuda con los tiempos, maneja al público con las preguntas, etc.). Las charlas fueron SQLAlchemy 0.4 and Beyond (Mike Bayer), que me gustó bastante... entre lo que me contaron en Los Cocos y esto, lo voy a probar en la próxima aplicación que haga que utilice una base de datos de forma no trivial; Roll on your own data persistence in Python (Sean Tylor), que me dió algunas ideas y un panorama general en vista a la CDPedia; y Don't call us, we'll call you: callback patterns and idioms in Python (Alex Martelli), que estuvo bien, pero había muy pocas cosas que no sabía.
A la tarde, luego del almuerzo, había una sola charla que me interesaba: Sights and sounds with pyglet (Richard Jones), que mostró el estado actual de pyglet, una biblioteca que permite trabajar con animaciones, gráficos, videos, sonidos, y OpenGL en forma general, todo haciéndolo fácil y multiplataforma... ¿no está bueno? Felicitaciones a Cocos, la biblioteca sobre la que estuvieron trabajando varios de los chicos de PyAr y que arrancó en Los Cocos, y que en esta charla se mencionó primera entre las aplicaciones de terceros que usan pyglet, :)
Pasaron luego un par de charlas más, mientras yo trabajaba en otras cosas, leía mails, y otros trámites. Y luego vino otra sesión de Charlas Rápidas. Las que más me gustaron: Naturally Speaking (EDITADO: la url no existe más), un software de reconocimiento natural de voz, que por lo que mostraron en vivo funciona bastante bien; Lucio y Riq presentaron Cocos, la biblioteca que les comenté antes, y fue bien recibida. Después no pude seguir mirando charlas porque tenía que ver a alguien de los Organizadores afuera, así que hasta ahí llegué.
Luego me junté con Jeff Rush, Catherine Devlin, y otra gente, para charlar un poco sobre grupos de usuarios. Resultó que Python Argentina es un caso de éxito dentro de Python mismo, y como tal estuve un rato tratando de transmitir experiencias, recomendaciones, etc. Un detalle interesante es que tenemos un modelo único: mientras que nosotros tenemos mucho tráfico en la lista hablando sobre Python, y las reuniones son más un evento social (con alguna parte administrativa), ellos tienen muy poco tráfico en la lista, y en las reuniones (que hacen una o dos veces por mes) hablan de temas puramente técnicos.
Al finalizar esa reunión busqué a los chicos para ir a comer algo. Decidimos salir, pero no ir hasta el centro, pero no tuvimos suerte: luego de ir a visitar a un restaurant que nos habían comentado decidimos volver al hotel. En el camino vimos que unos chicos estaban comiendo pizza, y decidimos hacer lo mismo: con la ayuda de la recepcionista del hotel pedimos una pizza por delivery.
Mientras esperábamos, subimos a la habitación y estuvimos jugando un rato a tener internet en las tres máquinas teniendo sólo una de ellas conexión real, y luego estuvimos viendo un par de jueguitos (en algún momento voy a poner un post sobre distintos juegos en Linux... aquellos que dicen que aquí no hay juegos no tienen idea).
Cuando llegó la pizza, bajamos a planta baja, compramos unas cervezas y cenamos. Y para terminar la noche, decidimos ir a la Open Session de juegos (de mesa), donde luego de ver un par decidimos quedarnos con uno que se llamaba Tigris y Eufrates. Pero era bastante complicado, y faltaban algunas piezas, así que lo cambiamos. Cuando volvimos a elegir, vimos que estaba el Settlers of Catán, y jugamos un partido del mismo, terminando como a la una y media de la mañana. Y de ahí, obviamente, a dormir...
Tercer día
Como siempre, arrancamos temprano, aunque cada vez menos, ;)
La primer Keynote, cortita, fue sobre como integrar mejor Python en las distintas plataformas, pero no me gustó: mucho bla bla, pero realmente no propuso nada nuevo, la única URL que dió daba error... La próxima keynote la dió Mark Hammond, y estuvo mucho mejor, habló de PyXPCOM, un componente que permite a Mozilla y Python trabajar juntos (algo que yo ya había escuchado, pero donde nunca me metí demasiado).La última keynote habló sobre el estado de la OLPC, las instalaciones en Uruguay y Perú, y las experiencias allí (estuvo más o menos).
En el break nos sacamos una foto con la bandera, que estuvo colgada en el atrio (donde estaban las registraciones) desde el inicio de la conferencia.
Y luego vino la última sesión de charlas. Fui primero a una que hablaba de Iteradores, la cual tenía algunas cosas interesantes, otras no tanto, y encima el flaco ponía 15 lineas con un algoritmo bastante complicado, lleno de pequeños detalles que justamente estaba mostrando (o sea, no podía esperar que la gente lo sepa), y sacaba la filmina a los 30 segundos, con lo cual no se llegaba a entender del todo. La segunda charla fue Core Python Containers -- Under the hood, por Raymond Hettinger, dando detalles técnicos sobre los contenedores built-in de Python; esta charla estuvo buenísima, una de las mejores de toda la conferencia. Para terminar, fui a una charla de Collin Winter, que hablaba de la herramienta de migración de Python 2.x a Python 3.x (la herramienta se llama 2to3), la cual estuvo bien, y de la que les quiero dejar la siguiente recomendación de migración para cuando quieran llevar vuestro producto o sistema de 2.x a Python 3000:
Mantener en 2.x
Corregir los warnings de 2.6 en modo -3
Correr 2to3
Ejecutar el conjunto de pruebas
Liberar la versión 3.x
Luego almorzamos los tres juntos por primera vez, más Daniel, un argentino que está viviendo en San Francisco. Y nuevamente, a la tarde, para cerrar la primer parte de la conferencia que son las charlas, se lanzó la última tanda de charlas rápidas. Las que más me llamaron la atención fueron una sobre el sitio Slide (EDITADO: la url no existe más), que manejan billones de hits HTTP por día, guardan billones de fotos, tienen dos o tres millones de fotos nueva por día (etc, ¿van tomando la idea del tamaño?), y que manejan todo con Python; y la otra sobre concurrencia en Python, que mostraba la existencia de las bibliotecas SafeThread, PyProcessing, PProcess y Parallel Python.
Y acá terminamos con la primer parte de la conferencia, ya que después de un pequeño break arrancamos con la parte de los Sprints, pero sobre esto vendrá otro post.