Nueva versión disponible de la CDPedia

Python — Martes 19 de Enero de 2010, 13:47

Python Argentina (PyAr) se enorgullece de anunciar la versión 0.6 de la CDPedia.  Esta versión fue entregada a Educ.ar con vistas a la distribución en escuelas del todo el país, y ya está disponible para ladescarga pública.

¡Pasen la noticia!

¿Qué es la CDPedia?

La CDPedia es un proyecto del grupo de usuarios de Python Argentina para poder acceder a la información de la Wikipedia en castellano aunque no se posea una conexión a Internet.  Se puede descargar libremente de la red y grabar a CDs o DVDs para repartirlos sin restricciones.  La CDPedia funciona en cualquier computadora, ya sea que tenga Linux, MacOS o Windows como sistema operativo.

La versión 0.6 de CDPedia en DVD fue recientemente entregada para su evaluación a Educ.ar, que por medio de un acuerdo con Wikimedia Argentina y PyAr está planeando distribuir esta enciclopedia libre en todas las escuelas de Argentina.

Esta misma versión ya está disponible para la descarga pública tanto para el formato de CD y DVD.  Para mayor información e instrucciones para la
descarga, visitar la página del proyecto.

El índice de la CDPedia

Python — Martes 17 de Noviembre de 2009, 00:20

La CDPedia tiene mucha información. En su versión CD, guarda como 85 mil artículos de la wikipedia en español, en su versión de DVD los guarda todos. El acceso a cada uno está armado con una estructura diseñada a tal fin, para que sea rápida y bonita.

El problema con tanta información es la búsqueda. Hoy por hoy solamente estamos buscando en los títulos de las páginas, y así y todo es un problema... porque la mayoría de los esquemas de búsquedas están armados por palabras completas (coincidencia exacta), o por parte de la palabra, pero siempre comenzando de esa manera (o sea, buscar por "cam", encuentra "camino", pero no "videocámara"). Creo firmemente en que la búsqueda debería permitir coincidencias parciales en cualquier parte de la palabra.

Yo, en sus orígenes, armé un índice rápido y simple, porque la idea no era trabarnos ahí. Varias personas exploraron distintas alternativas, pero por h o por b, ninguna sirvió. Mientras tanto, yo fui emprolijando un poquito el índice rápido y tonto... ahora es sencillo, y aunque no trivial, hace todo lo que tiene que hacer sin consumir demasiado ni tardar demasiado.

Pero es un índice hecho en casa, y como yo no sé del tema, seguro que hay muchas soluciones por ahí que son mejores. Entonces decidí bajar la barrera de entrada para que se propongan otros índices.

Separé lo que es el uso del índice, del "motor de indexado" propiamente dicho, y a este motor le agregué casos de prueba. Entonces, cualquier persona que quiera jugar con índices, sólo necesita copiar de mi motor de indexado lo que es la API, y corriendo los casos de prueba puede saber si cumple o no con lo necesario.

La API no es complicada, se considera que las palabras (cadenas de texto) son claves, y los valores son tuplas en los que se guarda info arbitraria, y básicamente se necesita:
  • crear el índice [create()] (lo cual no tiene que ser demasiado complejo, ya que se hace una sola vez)
  • obtener todos los items guardados [items()]
  • obtener todos los valores [values()]
  • sacar un valor al azar [random()]
  • nos dice si una clave está en el índice [__contains__()]
  • nos busca varias palabras, viendo que estén todas ellas, pero buscando *exactamente* cada palabra [search()]
  • nos busca varias palabras, también haciendo un AND, pero buscando parcialmente cada una [partial_search()]
(este último punto es en el que fallan la mayoría de los índices que andan dando vuelta por ahí)

Más allá de esos requisitos "duros", la idea en general es que el índice tarde poco tiempo en buscar, y que consuma no demasiada memoria (por ejemplo: 100MB de RAM es bastante, pero aceptable...). Y otro detalle importante: tiene que ser multiplataforma... eso significa que la solución que propongan tiene que correr en Linux, Mac y Windows (esto es algo fácil de lograr si la solución es Python pura, pero también se aceptaría algo con binarios precompilados que no ocupen demasiado).

Un disclaimer: realmente no estoy buscando que me cuenten teoría de índices, que me apunten a tal o cual solución mágica, o que me traten de explicar por qué tal o cual cosa es mala idea... el objetivo acá es encontrar un índice piola (o escribirlo)... si se sienten a la altura de las circunstancias, ¡son bienvenidos a probarlo!

Desde ya, muchas gracias, :)

Ahora con imágenes

Python — Lunes 26 de Octubre de 2009, 17:11

Le incorporé al programita para postear al microblog desde el celular la funcionalidad de reconocer si el mail que uno manda tiene imágenes.

El programa, si el mail tiene una imagen, lo que hace es bajarla y grabarla en el servidor, y gestionar en bit.ly una URL corta para la URL larga que queda de poner la imagen en nuestro servidor.

Luego arma el post con el texto que uno haya mandado, más la URL corta, y la sube a twitter e identi.ca.

El único cambio que hay que hacer en el programa es volverlo a ejecutar con --auth para, aparte de poner la info de twitter/identi.ca y el mail, poner el nombre de usuario y la clave de la API de bit.ly (que es gratis, te registrás y listo).

Enjoy it.

Posteando desde el celular

Python — Domingo 27 de Septiembre de 2009, 22:26

Si hubiese sabido que terminaba tan rápido el programita que paso a detallar, hacía un sólo post, pero bue... este salió pegadito al anterior sobre el mismo tema.

Algo piola en el mundo del microblogging es poder postear desde el celular... como el microblogging se basa en la instantáneidad de la información, esperar algunas horas para escribir algo no tiene sentido. Entonces, poder generar la info desde el celular es una ventaja.

Hay varias formas de hacer esto, y varios servicios a los que uno puede acceder para que esto suceda. La mayoría se basan en dos conceptos: tener instalado en el celular un cliente de microblogging, o un gateway SMS al que uno le manda un mensajito corto y eso aparece en Twitter o identi.ca.

En mi caso, ninguno de estos dos mecanismos me servían. El primero porque a mi teléfono no se le pueden instalar clientes piolas, y el segundo porque normalmente o son pagos, o te ponen propaganda (más allá de que les tenés que pasar tu usuario y clave...).

Entonces, armé mi propio mecanismo. Básicamente es un gateway mail a microblog. O sea, mando un mail desde el celular a una cuenta especial, y lo que mando allí aparece en Twitter e identi.ca como si lo hubiese dicho yo, :). Sí, se necesita poder mandar mails desde el celular, pero no es algo tan raro, y además bastante barato (porque usa la red de datos unos segundos solamente).

¿Qué se necesita? El programita que escribí, una cuenta de mail en cualquier lado (yo usé una en mi server, y es IMAP... si la quieren POP3 tienen que cambiar un poco mi programita), y las cuentas de Twitter e identi.ca para postear. O sea, todo fácil y gratis.

Tienen que ejecutar mi programa con --auth una vez para que les pida los datos de autenticación que van a parar a un archivito (usando este módulo mío que no esconde demasiado la info, pero el truco es guardar este archivo con permiso sólo para ustedes), y luego ejecuten el programita cada uno o dos minutos poniéndolo en un crontab en algún lado.

Voilá. Sencillo, rápido, barato, y divertido. Es Python, :)

Microblogging

Python — Sábado 26 de Septiembre de 2009, 18:07

Como bien informa la página de wikipedia, el microblogging es un servicio que permite a sus usuarios enviar y publicar mensajes breves, generalmente de sólo texto, que se muestran en la página de perfil del usuario, y son también enviadas de forma inmediata a otros usuarios que han elegido la opción de recibirlas.

Yo hace un par de meses que me enganché en esta, y estoy usando el servicio de Twitter e identi.ca. Como cliente venía usando gwibber, pero se rompió tanto en las últimas versiones, creciendo desordenado con mil cosas que no me interesan y perdiendo aquellas que me eran útiles, que quizás no lo use más (estoy accediendo a Twitter e identi.ca por la página web directamente, veremos en un par de semanas que pasa con gwibber... si sigue roto tendré que escribir mi propio cliente...).

Anyway... este post era para contarles que en la barra de la derecha incorporé una sección de microblogging en la que reproduzco los mensajes que fui enviando por este servicio, mezclando lo que dije por los distintos canales.

Esa listita la genero con un programita en Python, microblog.py, que levanta los feeds de Twitter e identi.ca y deja algo lindo como para mostrar en la página web.

Tutorial y CDPedia

Python — Sábado 19 de Septiembre de 2009, 14:27

Dos cosas que terminamos en los últimos días antes de PyCon, fueron el tutorial y la cdpedia.

El tutorial no es más ni menos que la traducción completa al castellano del Tutorial de Python (el oficial), que servimos en HTML, y que también se puede descargar en PDF. Este PDF lo generamos con rst2pdf, y la verdad que queda bárbaro... lo tuve que tocar un poco a mano, pero fueron en detalles que importaban en la impresión, no en la distribución en PDF...

El Tutorial, impreso

La CDPedia es la Wikipedia en un CD. Bueno, la verdad es que también la generamos en un DVD, pero el nombre ya quedó ese, que se le va a hacer. En la versión CD entraron más de 80 mil artículos, la mayoría con imágenes. Y en la versión DVD entraron todos, y casi todos con sus respectivas imágenes. Obvio, es un trabajo en progreso (esta es la versión 0.5, y hay cosas para hacerle), pero así como está es usable.

¿Qué se necesita? Una computadora no demasiado vieja, con lectora de CD o DVD según corresponda, y tener instalado Python en la máquina. Si usás Linux o Mac ya lo tenés instalado... si usas Windows, deberías dejar de usarlo, :), pero también podés instalarle Python (si es que no está ya instalado) y listo.

¿Cómo podés conseguir la CDPedia? La podés recibir en un disco de un amigo, o sino la podés bajar con un cliente de torrent (versión CD y DVD). En cualquier caso, tené en cuenta que es legal repartirla y compartirla, así que lo mejor que podés hacer es quemar dos o tres discos y pasarlos.

PyCon Argentina 2009, ¡terminada!

Python — Jueves 10 de Septiembre de 2009, 23:53

(Note: There's an English version of this report here)

Bueno, luego de tanto juego previo y expectativas, finalmente tuvimos PyCon Argentina 2009, la primer conferencia de Python a nivel nacional, en castellano, del mundo.

Mi idea acá no es comentarles cómo la pasé durante el evento, sino más bien tratar de transmitirles sensaciones, ideas y pensamientos sobre el lado organizativo/ejecutivo del asunto.

Vuestro servidor, en la ceremonia de cierre


Formato del evento

Fueron dos días, mañana y tarde, con tres secciones en paralelo la mayor parte del tiempo. Usamos tres auditorios de distintas capacidades, siendo el mayor para 300 personas. Las exposiciones se dividían en tres tipos:

Charlas: Se encontraban en los tres auditorios, con disertantes mayormente nacionales, siempre en castellano. También habían algunos casos en que no era una charla de un disertante, sino más bien un panel, pero el esquema era parecido. El tiempo asignado era de 40 minutos, más 5 de preguntas y respuestas. Luego de cada charla quedaban 15 minutos libres para que la gente pudiera ir al baño, o cambiar de auditorio.

Lightning Talks: Son charlas de cinco minutos. Cualquiera puede dar una de estas charlas (la gente se anota en una hoja durante los dos días), y los temas son abiertos. Normalmente no se espera una gran calidad de cada charla (porque son rápidas y muchas veces improvisadas), pero el tener 10-12 temas distintos en sólo una hora el valor obtenido es importante. Para estas charlas, toda la gente se junta en el auditorio principal.

Plenarias: Tuvimos dos charlas plenarias (charlas de 45 minutos en el auditorio principal, con todo el público asistente), que fueron dadas por dos invitados internacionales: Jacob Kaplan-Moss (creador de Django, uno de los frameworks web más usados en el mundo), y Collin Winter (desarrollador de Unladen Swallow, un proyecto de Google que promete un Python 5 veces más rápido que el actual). Estas charlas fueron en inglés, pero en una de ellas se repartieron folletos en castellano, y en la otra se proyectó simultáneamente la misma presentación en castellano.

Mucha gente en las plenarias


Organización del equipo

Python Argentina no tiene una estructura formal ni informal, somos todos pares y cada uno empuja el proyecto que le interesa.

En este proyecto en particular, yo estructuré el equipo de trabajo según una organización jerárquica militar (qué es la misma que se usa en las empresas). Básicamente estaba yo como Coordinador General del evento, tenía una segunda persona de confianza (una persona en la que uno confía tanto a nivel del tipo de decisiones que toma como en la capacidad de ejecución, en este caso Alecu), un grupo de 6-8 personas cercanas con las cuales se organizaba todo, y luego muchos más colaboradores eventuales o con menor participación (ayudando el día de la conferencia, o en distintos comités, etc).

El requerimiento más importante para una participación exitosa en la organización, considerando que todos somos voluntarios, es cumplir con aquello que uno se hace responsable (más allá de que la tarea sea importante o trivial). Si decís "yo lo hago", hacelo.

Hay que separar bien el tipo de trabajo que se realiza durante el año, contra el que se tiene en los días del evento. Durante el año los tiempos de respuesta son muchos más bajos, hay que tomar decisiones que influyen a largo plazo pero se pueden discutir y charlar en varias reuniones, etc. Durante los dos días, las decisiones se toman y ejecutan en el momento, y no hay demasiado tiempo para dudar. En general, cuanto más firme y mejor preparado haya estado el trabajo durante el año, en los días del evento todo será más suave, con menos sorpresas.

Equipo organizativo


Riesgos

Hay varios puntos importantes que insumen mucho tiempo y traen riesgo en la organización:

El lugar en el que se hace la conferencia, más los servicios que se brindan allí: En este caso fue en una Universidad privada, a la que se le abonaron distintos conceptos (internet, seguridad, sonido). Se vino hablando desde Abril sobre todo lo necesario, pero muchas cosas fueron apareciendo demasiado cerca de la conferencia. En particular, se instaló el acceso internet la tarde anterior. Por suerte, contamos con el servicio voluntario (de excelentísima calidad) de Buenos Aires Libre para el armado de WiFi (que se podía armar sólo después de tener el acceso a internet).

Impresión de los distintos elementos: Más allá de distinta papelería que imprimimos o sacamos fotocopias (carteles, encuestas, etc), tuvimos tres grandes cosas que imprimir: los programas del evento (un libro de 32 páginas a todo color), los tutoriales de Python en castellano que armamos (libritos de 116 páginas), y unos anotadores. El diseño de cada cosa lleva mucho tiempo, y el imprimirlo también. Es un error que vi en demasiadas conferencias que se termina mandando a imprimir todo junto al final y siempre hay algo que no está en tiempo y forma para el evento. Es importante hablar con la Imprenta con suficiente antelación, e involucrarlos en el diseño desde temprano, para minimizar las sorpresas luego.

Aspecto económico-financiero: Meses antes de la conferencia creamos tres presupuestos distintos, escalonados, que ejecutaríamos de una u otra forma en función de la cantidad de dinero que se obtendría luego (y en base a estos presupuestos armamos las categorías de los patrocinadores). Por suerte no tuvimos que salir a golpear puertas para juntar el dinero, sino que todos los sponsors fueron por contactos de gente que está en Python Argentina (ya sea porque trabajan o son dueños de las empresas que patrocinaron el evento). Hay dos puntos que son muy importantes: uno es que el presupuesto tiene que estar escalonado de manera que si no se junta todo el dinero, se pueda distribuir lo que se junto de manera que maximice los beneficios para la conferencia; el otro es que hay que tratar de empezar a juntar el dinero lo antes posible, porque gastar el dinero (o sea, ejecutar el presupuesto) no es trivial y lleva más tiempo del pensado. También, como organización no legal (sin personería jurídica), hay que pensar cómo juntar el dinero... nosotros por suerte contamos con la colaboración de la Fundación Via Libre, que nos ayudó en este punto.

Infraestructura técnica para la organización: Hay muchas herramientas que se usaron para que los organizadores trabajen juntos. Teníamos un wiki para llevar anotado todo, una lista de correo para el principal intercambio de información, e IRC para algunas reuniones no presenciales que armamos (especialmente para la selección de charlas, donde participó mucha gente que vive lejos). También usamos un repositorio SVN para todos los archivos que había que guardar, especialmente los del sitio del evento. Para este último usamos pycon-tech, un proyecto orientado justamente a sitios de conferencias.

El equipo: Este es uno de los principales riesgos, ya que si no se forma un grupo de gente con ganas de lograr el objetivo, con ganas de ponerse de acuerdo y trabajar con un destino común, puede llegar a suceder que no se logre armar un buen evento sólo por culpa de los organizadores mismos. Hay que tener en cuenta que en un evento organizado desde la participación voluntaria podemos tener gente que arranque y que luego no pueda terminar en el equipo, o que puede haber gente que se sume durante el camino. ¡Y el equipo es una de las primeras cosas que hay que definir! Es por esto que es crítico que el Coordinador General del evento tenga el suficiente arrastre y empuje en la comunidad como para poder tener el equipo armado pronto y trabajando positivamente durante todos los meses del evento.

En general, se recomienda hacer lo que uno sabe hacer y pedir ayuda a especialistas (o contratarlos) para todas las cosas que no se tiene el conocimiento o recurso necesario.

Por otro lado, hay imponderables: el primer día de la conferencia se cortó la luz en todo el barrio. Por suerte, fue en el último track antes del almuerzo, algunas charlas estuvieron un rato a oscuras, y luego la energía volvió dos minutos antes de que empiece la tarde. En este caso, no podíamos hacer nada para prever ni mitigar el problema.

Remera de staff


Contenido

El contenido se determina para las plenarias y las charlas normales, ya que las lightning talks no pasan por una decisión del equipo organizativo.

En el caso de las plenarias de los invitados internacionales, normalmente se elige al invitado y se le da libertad sobre lo que quiera decir. Para el caso nuestro, la elección fue coordinada con PyCon Brasil, y fue sorprendentemente acertada.

En cambio, para las charlas normales se hace un call for charlas unos meses antes, y luego de la fecha límite para presentar las propuestas, un comité se reúne y determina qué charlas se van a elegir para el evento. Esta elección se basa en la calidad de las ponencias, y en los temas que se quieren representar durante la conferencia.

Collin Winter usando la presentación traducida


Aspecto social

Un punto que no sólo no hay que descuidar sino en el que hay que hacer énfasis es el del aspecto social. Una conferencia nacional es una muy buena excusa para que la gente se reúna, se vuelva a ver luego de un tiempo, se conozca, intercambie ideas y conocimiento, etc.

Las tardes/noches luego de que termina la conferencia cada día es una buena oportunidad para que la gente vaya a tomar algo o comer por los bares o restaurantes cercanos, y se produzca este encuentro social.

En nuestro caso, quisimos profundizar esto realizando un asado el domingo, al que estaban invitados todos los disertantes y organizadores, más las respectivas familias. El objetivo era disfrutar de un día distendido, comer carne rica (¡o vegetales!), tomarse un vino, charlar, jugar a algo, etc., de manera de que la gente se conozca más y mejor.

Jacob Kaplan-Moss y otros jugando a las cartas


Comentarios

Por último, quiero dejarles la otra cara de la moneda: muchos comentarios que fui levantando por ahí de asistentes a la conferencia:

chaghi: La conferencia estuvo EXCELENTE, empezando por el material de registración, siguiendo por la organización general, el lugar, la coordinación, las charlas, la versión impresa del tutorial en español, las keynotes de Jacob Kaplan-Moss y Collin Winter, y toda la cosa social que hubo alrededor.

xavierlesa: muy buenas las charlas del #pyconar09, el que se la perdió se jodió!

felipelerena: no twitee nada de la #pyconar09 fue FAN TAS TI CA

santiycr: Back home from the PyCon. Learned a lot, the event was flawless, kudos to the organizers. #pyconar09

achuni: It was our first PyCon in Argentina, and we weren’t expecting it to be so successful.  With no international publicity (other than the public mailing list archive, banners on blogs and such) we had people coming from Peru, Paraguay and Colombia.  And thanks to a few well placed reminders, unlike the vast majority of the FOSS related conferences in Argentina lately, as far as I know nobody had anything stolen during the conference. I must say everybody from the organization did an impressive job, I hope PyConAr 2010 (this time in Córdoba) goes just as well.

rhfixer: Muy buena la #pyconar09, mis felicitaciones a los organizadores y disertantes. ¡Un honor haber asistido!

chaghi: Excelente segundo día de #pyconar09. Muy buenas charlas, lightning talks, plenaria, sorteo, y cierre emotivo. Un lujo.

michelpeterson: #pyconar09 has come to an end and let me say that it exceeded my expectations. Congrats to everyone involved!

frapell: En primer lugar, la conferencia estuvo fabulosamente bien organizada, todo salio espectacular y no hubo problemas (bueno, un pequeñito corte de luz justo cuando dabamos nuestra charla, pero obviamente no tuvo nada que ver con la organizacion del evento) asi que felicitaciones realmente a toda la gente involucrada porque fue un laburo admirable.

robertoallende: PyConAr is over. This was the most inspiring event i had been ever. Re Plone: 3 talks, 1 lighting talk. #pycon 2010 : Cordoba! (sept/oct)

technophilic: ...pero en realidad lo que quiero destacar de la conferencia, es que fue completamente gratuita, y el nivel estuvo a la altura de cualquier otra en la que haya que pagar un entrada para poder participar.

Ah! Y fotos, fotos, fotos, fotos, fotos.

El Gran Grossini nos saluda!

¡Vamos todos a PyCon Argentina!

Python — Viernes 14 de Agosto de 2009, 18:40

Está abierta la inscripción para participar de PyCon Argentina 2009, la primera conferencia en castellano sobre el lenguaje de programación Python, a realizarse los días 4 y 5 de septiembre en la sede de la Universidad de Belgrano, Zabala 1837, en la Ciudad de Buenos Aires.

En esta primera edición contaremos con la participación de Jacob Kaplan-Moss (creador de Django) y Collin Winter (core developer de Python) como invitados especiales del evento, y con más de 30 charlas sobre Python y temas relacionados, desde tutoriales para principiantes hasta charlas de nivel avanzado. Miren el cronograma de charlas, ¡está buenísimo!

La entrada es libre y gratuita. Para evitar contratiempos, confirmar su asistencia y recibir credencial y demás materiales de la conferencia, se recomienda realizar inscripción previa en el sitio web.

Va a estar genial.

Frase

Python — Lunes 08 de Junio de 2009, 10:36

En los canales de IRC hay algo que se llama topic, que es una especie de título, o tópico del canal, y se usa mucho para contar de que va el mismo, hacer anuncios, etc.

En el canal de Python Argentina (#pyar, Freenode) lo usamos bastante libremente. Hoy fui a poner el anuncio de que necesitamos que propongan charlas para PyConAr09, y tuve que sacar la siguiente frase de Naty Bidart, pero como está tan buenísima, la copio acá para la posteridad:

Python es de las mejores cosas que te van a pasar en la vida ñoña

Call For Charlas, PyCon Argentina 2009

Python — Jueves 28 de Mayo de 2009, 00:25

PyAr, el grupo de usuarios de Python de Argentina invita a toda la comunidad de usuarios de Python y de Software Libre en general a proponer presentaciones y charlas para la Primera Conferencia Argentina de Python, a realizarse en Buenos Aires los días 4 y 5 de Septiembre de 2009.  

En este evento nos juntaremos desarrolladores y programadores tanto principiantes como avanzados; bloggers, autores y diseñadores web; gerentes, administradores y emprendedores; científicos, ingenieros, curiosos y todo aquel que tenga ganas de acercarse a la comunidad Python en Argentina.  

Agradecemos la contribución de todos en la difusión de este llamado y del evento en si mediante los banners diseñados para tal fin y que se encuentran aquí.

Las charlas deben ser ingresadas para su aprobación aquí.  La fecha límite de envío de charlas es el Lunes 29 de Junio inclusive.  En caso de consultas o inconvenientes, envianos un mail.

Más info, acá.

Intro a Python, slides + voz

Python — Martes 21 de Abril de 2009, 05:12

Martín Gaitán armó un sidecast con mis filminas de Introducción a Python y mi presentación de las mismas en las 7mas Jornadas Regionles de Software Libre.

Un sidecast es basicamente poner en paralelo las filminas con el audio. En este caso particular se desluce un poquito en la parte que no sigo las filminas sino que muestro otras cosas por el proyector (cómo crear y ejecutar un programa, el uso del intérprete interactivo, etc.).

Anyway, acá está, ¡muchas gracias Martín!

PyCamp 2009

Python — Jueves 02 de Abril de 2009, 15:31

Se realizó la segunda edición del PyCamp, nuevamente en Los Cocos, como la vez pasada.


Sábado

Esta vez llegamos un poco más tarde y el centro Allen ya estaba abierto, así que entramos directamente y nos empezamos a acomodar. Dejamos las cosas en las barracas, boludeamos un ratito, y ya empezamos a desayunar.

Luego del desayuno (o casi terminando), arrancamos con la planificación de los cuatro días, pero en lugar de armar una grilla pusimos todos los proyectos y luego los distribuimos por zonas horarias. Al terminar esto (que no es trivial), boludeamos un rato y ya almorzamos.

A la tarde arrancamos con el proyecto que más me interesaba: la CDPedia. Nos juntamos alrededor de una mesa, les pasé a todos el código (así no cargábamos la red), y les fui contando los objetivos del proyecto, la estructura en disco, y la forma de laburo de los componentes. Discutimos distintos acercamientos a distintos problemas, vimos posibles soluciones, intercambiamos ideas, abrimos bugs, y un montón de detalles más, pero en general la idea fue que muchas personas se familiaricen con el proyecto, para que sigan laburando los días siguientes.

Luego de cenar llegó la parte más lúdica del campamento: aquí la mayoría dejamos de programar y nos ponemos a jugar a cualquier cosa: juegos de cartas, de mesa, por computadora, etc. Yo tenía muchas ganas de jugar al Virtua Tennis, un muy buen juego de tenis, pero que sólo corre sobre Windows. Con Perrito lo intentamos correr en una máquina virtual, pero no tuvimos demasiado éxito. Luego lo instalamos en el Linux mismo, usando Wine, y aunque era jugable (tenía el problema que no le funcaba el sonido), no nos sirvió para nada porque explotaba cuando queríamos armar un partido entre dos computadoras a través de la red. Y, como la idea era jugar en grupo, decidimos buscar otra cosa.

Jugando al Catán

Saqué el Catán, un juego de mesa muy copado del que ya hablé acá, y lo disfrutamos un par de horas. Como nota de color, fue la primera vez que compartimos un Legui con Perrito (siempre hablamos de esto en el canal de PyAr). Nos quedamos como hasta las dos de la mañana, y disfrutamos mucho la partida.


Domingo

Al otro día me levanté tempranito, y luego de desayunar me puse a laburar con la CDPedia, sólo y en grupo.

A la tarde arrancamos con el diseño del reemplazo de naushika (el bot que estamos usando en el canal de IRC de PyAr). naushika es un bot armado hace rato, y usa una plataforma un poco vieja y que ya no está mantenida. Y cómo queríamos agregarle bastante funcionalidad, decidimos que íbamos a escribir un Bot de IRC, al cual se le pudieran poner de forma muy fácil distintos plugins para lograr la funcionalidad deseada.

Bastantes estábamos interesados en este proyecto, así que usamos un pizarrón para discutir el diseño. Lo sacamos hasta abajo de un árbol, y nos pasamos la tarde armando esto, hasta que finalmente comenzamos a programarlo (para los más técnicos: usamos Twisted, que ya nos da un cliente de IRC, y armamos algo genérico con un sistema de plugins autoinstalables que se registran en un dispatcher y reciben los mensajes que quieren, contestando lo que se enviará al server).

Diseñando lalita

En todo el diseño, perdimos una buena parte de tiempo eligiendo el nombre del nuevo bicho, ya que como iba a recibir una reescritura de cero no nos parecía que siga con el mismo nombre que antes. Queríamos que el nombre pareciera de mujer (porque es más simpático, porque tenemos pocas mujeres en el canal, y es muy divertido cuando la gente le quiere hablar sin saber que es un robot), pero también queríamos que tenga algún sentido geek. Luego de pasar por numerosas propuestas de nombres de víboras, terminamos yéndonos para el lado de una serie de televisión que nos gusta mucho: The Big Bang Theory. En esta serie, uno de los personajes presenta a la que es su predestinada futura esposa, que se llama Lalita Gupta. Así que le pusimos lalita.

Luego de cenar, y con una fuerte lluvia afuera, hicimos la reunión de PyAr, donde discutimos la organización presente y futura del PyCamp mismo, y cómo íbamos avanzando con PyConAr, ideas, inquietudes, problemas, desafíos. Luego de la misma, seguí laburando con lalita hasta que me venció el sueño, como a las 2 de la mañana.


Lunes

El día amaneció seco, pero bastante fresco, al punto que yo, que estaba de bermudas y remerita, tuve que dejar de programar abajo de un árbol y meterme adentro un rato de comer, porque tenía frío. La actividad matutina en la que participé fue un Bug Day de Python, que estuvo medio frustrado porque la conectividad no era la mejor (encima tenía bloqueado un puerto de la red que me era imprescindible para trabajar con esto), pero al menos cerramos un bug luego de un extensivo análisis de Humitos.

Justo antes de comer hicimos la foto grupal del evento. Este año pudimos hacerla al aire libre, ya que aparte de la bandera que colgamos en la pared teníamos un cartel que podíamos mover de un lado para el otro.

Foto grupal

El resto del día lo pasé programando a lalita, y jugando bastante ping pong (de a ratos, armábamos dos o tres partidos, parábmos, luego volvíamos a jugar un par maś, y así). También tuve algunas conversaciones de diseño con otros chicos que seguían laburando con la CDPedia.

Luego de comer, volvimos a jugar un Catán, pero esta vez lo regamos con unos vinos que habíamos comprado. Ya me estaba yendo a dormir cuando me distrajeron con un nuevo ping-pong, y al terminar el mismo me enganché a jugar un juego de rol que estaba liderando Alecu (juego que me encantó, vamos a ver si coordino alguna vez juntarnos en casa con esta excusa). Terminamos a las cuatro y media de la mañana y me arrastré como pude hasta la cama, casi caminando dormido...


Martes

El martes me levanté más tarde, me pegué un baño tranquilo, y al poco de ponerme a trabajar algunos chicos avisaron que iban a ir a un parque que hay en Los Cocos, donde hay un laberinto que es bastante conocido. Yo tenía ganas de ir, así que emprendimos viaje (caminando, porque está a unas diez cuadras largas del lugar donde paramos). El lugar estuvo muy bueno, con buenas vistas y cosas lindas para sacarles fotos (charlamos bastante sobre fotografía con Dave). El laberinto, en particular, estuvo muy divertido: está armado con ligustrina (la cual tiene metro y medio de altura), se entra por un costado y hay que llegar al centro, y no fue tonto resolverlo (aunque tampoco tan complicado, porque éramos cinco e íbamos explorando distintos senderos en paralelo).

Volvimos justo para almorzar, y luego seguí trabajando con lalita hasta que nos pusimos a trabajar en una idea muy loca que tuvo Perrito: la de sacarnos una foto simulando La Ultima Cena, de Da Vinci. El resultado estuvo muy bueno, como podemos ver aquí, pero tengo que destacar que cuando al grupo se le pone una idea en la cabeza, ciertamente encuentra los medios para resolverlo.

La última cena... Da Vinci, dejá de copiarnos

Luego me fuí a acomodar la valija, para tener todo listo y medio cerrado, y seguimos laburando con lalita hasta que se hizo el momento de partir. Terminamos de armar todo, saludamos, y caminamos las cuadras hasta la parada del micro, y ya volvimos a Buenos Aires.

Todas las fotos, aquí.

Powered by LifeType