Posteando desde el celular

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, :)

Comentarios Imprimir

Microblogging

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.

Comentarios Imprimir

Tutorial y CDPedia

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 usás 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.

Comentarios Imprimir

Experiencias

La vida me ha llevado a lugares raros, a momentos en que disfruto estar justo en ese lugar y justo en ese momento, porque puedo experimentar cosas que sé que no son comunes, que me alimentan de formas raras.

El viernes viví algo así.

Resulta que fui a dar una charla de onda sobre Python a un posgrado para científicos en el Instituto de Física de Líquidos y Sistemas Biológicos de la Universidad de La Plata. Fui invitado por Manuel Carlevaro, y la verdad es que la charla estuvo muy buena... llegué tarde, pero tenía tiempo para darla, y creo que gustó. Fue Introducción a Python, más un repaso rápido de Numpy y algo de Scipy.

El punto es que después de la charla Manuel me invitó a la casa, a por cerveza y pizzas que tan gentilmente cocinó su mujer. El punto es que a la cena se sumió Luis Pugnaloni (quién junto a Manuel y otros mantienen el portal de divulgación científica CienciaNet), y Santiago Grigera.

Y este muchacho Santiago es un físico groso: Doctor en Física del Instituto Balseiro, Profesor asociado en la Universidad de Saint Andrews (Reino Unido), Investigador Independiente de nuestro CONICET, y University Research Fellow de The Royal Society (Londres).

Antes de que Santiago llegara, Manuel me comentó que Santiago y su equipo publicaron un artículo en la revista Science sobre un experimento en el que vieron experimentalmente monopolos magnéticos. Un monopolo magnético es un partícula hipotética que consiste en un imán con un solo polo magnético. Lo que les debería llamar la atención en el último párrafo es que la definición dice partícula hipotética, que este muchacho la ha visto en un experimento.

En este artículo de La Nación lo explican con más detalle, pero lamentablemente no se puede bajar el artículo de Science... bah, sí lo pueden bajar si pagan mucha plata... ¡eso es una mierda! Por suerte hay iniciativas como Papers in Physics (que acaba de comenzar), que apuntan a que el conocimiento se distribuya gratis.

Volvamos al punto en cuestión. Lo que me fascinó, y lo que quiero rescatar como una experiencia extraña, es que en la Universidad, en física, yo había estudiado que en esta realidad solamente existen los dipolos magnéticos. Y el viernes, por una de esas casualidades de la vida, ¡estuve comiendo pizzas con alguien que experimentalmente vio eso que yo había estudiado que no existía!

Comentarios Imprimir

PyCon Argentina 2009, ¡terminada!

(Note: There's an English version of this report `here <http://www.taniquetil.com.ar/facundo/pyconar09_report.txt>`_)

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!
Comentarios Imprimir