Enigma y recorrido

Sin tiempo a reaccionar, Bruno sintió un golpe en la nuca y un ramalazo de dolor se extendió por su cuerpo. Cayó desplomado y con los ojos cerrados, aunque estaba todavía consciente. Quiso abrir los ojos, pararse, correr, gritar, pero no podía controlar su cuerpo. Intentó tranquilizarse. Notó que alguien lo comenzaba a arrastrar, agarrando varias veces su cabeza para que no golpeara con los desniveles del piso.

Cuando dejaron de moverlo, lo apoyaron contra algo mullido. La curiosidad pudo más que el miedo, y con un esfuerzo de voluntad pudo entreabrir los párpados. Vio como un par de piernas se alejaban de él, y luego el resto del cuerpo entró en su campo visual: era Roxana Carabajal.

Ella fue hasta una puerta abierta, la cerró y trabó. Se dirigió para la izquierda de Bruno, quien para seguirla con la vista tuvo que girar apenas la cabeza. Vio como iba hasta una pileta y se lavaba cuidadosamente las manos. Luego se sentó en un sillón a un par de metros de él, sacó del cajón de una mesita un recolector de muestras idéntico al que él había comprado y una aguja, se pinchó un dedo y dejó caer algunas gotas de sangre sobre el gel de los cristales.

(`sigue acá <http://www.taniquetil.com.ar/facundo/hr/hr.html#6>`_)

Comentarios Imprimir

Documentos libres

Fundación Vía Libre invita a la celebración del Día de los Documentos Libres, el próximo 26 de Marzo.

Con tal motivo se organizó una jornada para llamar la atención sobre la necesidad de utilizar estándares abiertos en archivos digitalizados de información. Como única forma de conservar nuestros datos en el mediano y largo plazo, y como garantía de la libertad de elección de plataformas informáticas, los estándares abiertos representan la clave para la construcción de entornos informáticos donde nuestra información no quede secuestrada en manos de un formato privativo de una sola empresa.

Las actividades coordinadas por Vía Libre se llevarán a cabo el mismo día miércoles 26 de marzo. En la Ciudad de Buenos Aires, desde las 19 horas en la Sala Garibaldi del Centro Cultural de la Cooperación, Av. Corrientes 1543, Enrique Chaparro, María Elena Casañas y Ezequiel Singer realizarán presentaciones prácticas y conceptuales en relación a los formatos abiertos en materia de documentación, haciendo especial énfasis en el manejo de documentos de ofimática bajo la norma ISO 26300 y el estándar internacional ODF. Pueden encontrar más información sobre actividades en Córdoba y Santa Fé en el anuncio original. Todas las actividades de esta jornada son libres y gratuitas.

¿Por qué dedicar un día a los documentos libres?

El uso de programas de ofimática es una de las tareas más extendidas en materia de computación. Todas aquellas personas que trabajan en nuevas tecnologías dependen en gran medida de la ofimática para sus tareas cotidianas. En este sentido, día a día, archivamos miles de millones de documentos en este formato. La gran mayoría de las personas jamás se han detenido a considerar la importancia de esos formatos para la conservación de sus documentos. Así, nos encontramos con que documentos guardados hace 5 o 10 años ya no son accesibles con los programas de ofimática actuales. Esto se debe a que algunas empresas de software privativo que nos proveen los paquetes de oficina necesitan mantener un flujo regular de venta de programas que en definitiva hacen las mismas tareas que sus predecesores. La incompatibilidad deliberada entre formatos es una de las estrategias para forzarnos a comprar nuevas licencias de sus programas. Un ejemplo práctico de esta realidad es lo que ocurre con los documentos en formato .docx de la nueva suite de oficina Office 2007 de Microsoft, que sólo es accesible desde una copia del mismo programa, forzando a la gente a comprar la nueva aplicación aunque no tenga necesidad real de hacerlo.

Hoy día somos capaces de interpretar el legado documental de generaciones ancestrales mientras que perdemos irremediablemente documentación elaborada hace 10 o 15 años simplemente porque el proveedor de las aplicaciones y el formato de archivos decidió discontinuarlos. Es nuestra memoria social lo que está en riesgo y por la cual somos responsables.

Afortunadamente, la solución a este grave problema ya está entre nosotros, y se basa en un principio muy simple: el uso de estándares abiertos para el archivo de documentos.

Un estándar abierto se caracteriza por:

  • tener todas sus especificaciones disponibles de modo tal que cualquier persona, empresa u organización pueda acceder a ellas y desarrollar una implementación
  • estar libre de patentes que hagan que un proveedor esté en mejores condiciones que otro para implementarlo.
  • debe ser mantenido por múltiples actores y organizaciones
  • deben existir diversas aplicaciones que lo implementen.

En materia de ofimática, estas condiciones sólo las reúne el estándar ODF, validado por ISO como Norma ISO 26300. Dada la fundamental importancia de la interoperabilidad y la conservación de los documentos, muchas administraciones públicas del mundo están adoptando ODF como estándar para sus documentos, para mantenerlos así libres del monopolio y el arbitrio de un sólo proveedor de software.

Pero la limitación que encontramos en esta adopción es la falta de conciencia pública sobre la fundamental importancia que tiene el hecho de que la gran mayoría de la gente no utilice estos formatos y esté aún presa de formatos privativos tales como el .doc, el .ppt o el .xls , entre otros.

El día de los documentos libres permitirá mostrar públicamente la problemática y sus soluciones y compartir con las personas participantes la buena noticia de que hoy es posible y muy sencillo archivar nuestra información en formatos libres.

(Gracias a la Fundación Vía Libre por estas valiosas acciones y por este texto que es un 99% suyo)

Comentarios Imprimir

PyCon 2008 - Los Sprints

En el último post sobre PyCon 2008 contaba que había pasado hasta que comenzó la etapa de los Sprints... acá continuamos desde ese punto, el domingo a la tarde.

Hubieron tres actividades al respecto. La primera fue una pequeña presentación de Brett Canon sobre qué es un sprint (esta fue buenísima... tendría que agarrar ese video, subtitularlo, y distribuirlo...). Luego se armó un pequeño panel con algunos líderes de sprint, donde el público hacía preguntas generales sobre los sprints y esta gente (entre la que estaba Lucio, ya que lideraba el sprint de PyPy-Flash) contestaba.

Luego toda la gente se separó en un grupo por sprint y se fueron a distintas habitaciones donde estuvieron haciendo un pequeño tutorial de cada sprint, así el lunes se podía arrancar ya andando.

Para mi el domingo estuvo bastante movido, porque como era el Coordinador general de los Sprints, estuve asignando las habitaciones para los tutoriales y para el resto de la semana, cerrando las necesidades de cada sprint (proyector, pizarrón, etc.). Pero también participaba en el sprint de Lucio, así que me fui con él y su grupo a empezar a laburar.

Y encima en el medio me fui dos horas a una reunión de los organizadores para sacar las primeras conclusiones y hacer un brainstorming sobre el cierre de la conferencia, qué pasó, que no pasó, que cosas tenemos que tener en cuenta para las próximas, etc.

A eso de las once, luego de comer con la gente, ya me fui a la habitación, porque estaba bastante cansado, aunque luego me quedé allí terminando algunas cosas y me terminé acostando a las doce de la noche, más o menos.

Del lunes al jueves se desarrollaron los sprints propiamente dichos. Yo participé en el sprint de PyPy-Flash (que lideraba Lucio), cuyo objetivo es poder escribir algo en Python (o mejor dicho RPython, que es muy parecido) y poder transformar eso en código ActionScript y que compile a Flash, para que se pueda ejecutar en cualquier navegador.

El grupito que se armó para trabajar juntos

El lunes comenzamos temprano, y estuvimos trabajando duro y parejo durante todo el día. A la noche Sean and Evelyn, de tummy.com, compraron 32 pizzas para todos los sprinters, más una gran bandeja de vegetales y fiambres. Asombroso. Después de eso seguimos trabajando, hasta las doce y media, que corté y me fui a dormir, totalmente cansado.

Al otro día nos levantamos un poco más tarde, trabajamos todo el día, y como a las seis de la tarde fuimos a comprar con Riq y Lucio algunas cosas a Microcenter, que quedaba a una hora y media de viaje. Yo compré una tableta graficadora Wacom, que todavía tengo que hacer funcionar en el Linux (en la laptop no anduvo), y dos o tres boludeces más. A la vuelta, nos quedamos a comer en un pequeño restaurant mexicano que encontramos. Volvimos no demasiado tarde, así que decidimos pedir prestado el Settlers of Catán, y jugarnos un partido.

El tercer día de sprint marcó un hito importante: logramos completar uno de los objetivos que nos habíamos puesto, el de crear una prueba de concepto que mostrara un juego con la tecnología que estábamos desarrollando. Para el ejemplo, tomamos un juego simple de PyGame, y lo armamos a nuestra manera, pueden ver el resultado acá.

Para festejar (?) fuimos los que estábamos trabajando juntos más otros que se agregaron a comer a un lugar mexicano que estaba cerca del hotel. Como correspondía, cuando volvimos jugamos un partidito de Settlers.

Jugando al Settlers of Catán

La verdad es que se armó un grupo piola, todos de puntas distintas del planeta, pero gente divertida.

El último día de los prints propiamente dicho arrancó más relajado, al punto que no hicimos nada del proyecto, :p. Estuvimos boludeando un rato hasta que Lucio y Riq dieron un tutorial de Cocos, el cual gustó muchísimo. La verdad es que ellos dos tuvieron más visibilidad por estar acá en PyCon, pero quiero felicitar también (aparte de ellos dos) a Ra y Darni que estuvieron trabajando en este proyecto.

Luego del tutorial almorzamos y nos fuimos a pasear Riq, Lucio, Evelyn, Guillermo, Richard y yo al centro de Chicago. El paseo estuvo muy bueno, sacamos unas fotos bárbaras, y hasta paramos en una gran librería a comprar libros. Obviamente, cuando volvimos, nos quedamos jugando un partidito de Settlers, y después nos quedamos trabajando hasta como las cuatro de la mañana...

Comentarios Imprimir

Encrucijada

Roxana Carabajal se despertó sin la ayuda del despertador. Le resultó extraño, normalmente se despertaba recién a la tercer descarga eléctrica de la almohada. Se despabiló instantáneamente. Aprovechando que estaba desnuda, decidió bañarse. Ni bien se paró, la cama se plegó sobre si misma y se guardo en la pared.

Entró en el cilindro semitransparente, se paró con las piernas medio abiertas y levantó los brazos. Inmediatamente surgieron chorros de agua de todas las paredes del duchador. Contó mentalmente: diez segundos de agua a presión, pausa de cinco segundos, agua enjabonada, pausa, agua para enjuagar, pausa, aire caliente para secarse, aire frío para refrigerar.

(sigue acá)

Comentarios Imprimir

PyCon 2008 - Las charlas

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 [-].

El público desde el estrado dónde hablé

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

Filmina de la presentación de 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, 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.

La Bandera, en Chicago

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, 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.

Comentarios Imprimir