Mariano Draghi (cHagHi): El Señor Capital

Creo que los recursos hidrocarburíferos, como todo recurso no renovable, y del que depende toda la estructura productiva de un país, debe estar bajo el control del Estado. Porque el Estado tiene que poder administrar esos recursos en función del plan productivo del país como un todo, y no de la renta de la empresa que controla la explotación de los recursos.

Sería lindo que la matriz productiva del planeta funcionara con energías alternativas, pero el mundo funciona así, en gran parte porque los petrodólares son un gran negocio para esos poquísimos seres humanos que se reparten la mayor parte de la torta de poder y dinero del planeta, y no les interesa ni conviene fomentar el desarrollo de otras tecnologías y de fuentes de energía alternativas que no dependan de los recursos escasos y finitos que ellos controlan.

¿Y a qué vengo con todo esto? No vengo a aplaudir de pie la expropiación de YPF, no al menos efusivamente, porque si bien el espíritu de la medida me parece correcta (por lo que planteaba al principio), tengo dudas con las formas, y con los reales motivos atrás de esto, y con la capacidad del gobierno para administrar correctamente los recursos, y de si realmente el gobierno tiene un plan energético integral y coherente previsto para implementar. Y no me olvido que los impulsores de la expropiación son los mismos que hace años festejaron la privatización (y fueron jugadores claves para habilitarla). Y son los mismos que gobernaron mientras se produjo el vaciamiento, sin decir/hacer practicamente nada hasta que el tema les explotó en la cara y no les quedó más remedio.

Pero... tampoco me chupo el dedo. Y toda esta discusión sobre "seguridad jurídica", "confianza de los inversores", el malestar del "capital financiero internacional", etc., me saca de las casillas. Pónganme un ejemplo de una vez que el "capital" se haya preocupado por algo o alguien que no sea su renta. Pónganme un ejemplo en donde la responsabilidad social y ambiental, o los derechos humanos, o la solidaridad, o la ética hayan tenido prioridad por sobre la renta. ¿Saben que van a encontrar? Que si la renta no estuvo primero, fue porque hubo una ley y un Estado presente aplicando la ley y regulando la economía.

Todo bien con el Señor Mercado, pero cuando se trata de recursos estratégicos, de servicios públicos, no necesariamente se puede ganar plata, no necesariamente la renta puede ir de la mano de las políticas que hay que aplicar.

Basta de defender al Señor Mercado. Basta. El Señor Mercado bien que sabe defenderse solito. Discutamos la medida desde cualquier otro ángulo, pero no me vengas con "pobres accionistas" o "pobre capital" o "pobre confianza de los inversores". Esta lógica capitalista por la cual una empresa tiene derecho a depredar y cagarse en los seres humanos porque "así son los negocios", y que a la sociedad no le importe, pero al mismo tiempo cuando viene alguien y les mete el dedo en el culo salgan a gritar que el Estado es arbitrario, o que quiebra la confianza, o lo que fuere, es ridícula.

Si el bienamado capital quiere tener piedra libre para especular y ganar a costa de romper e hipotecar el futuro del planeta, y de enriquecerse a costa de comunidades, pueblos y a veces naciones enteras, entonces que se la aguante cuando le patean el tablero de un día para el otro. Si querés vivir en la jungla, aguantate las reglas.

Por mi parte... me gustaría más que la humanidad empiece a tomar nota de estas cosas, y empecemos a tener un Señor Capital que sea responsable con la vida de la gente, la Naturaleza y los recursos del planeta. Sí, suena a utopía, pero me gusta cerrar los ojos e imaginarme una realidad alternativa en donde es posible.

¿y saben qué? es una realidad mucho más linda.

César Portela: Un cacho de cultura…

El pasado 17 de Marzo la Sinfónica de Entre Ríos inició su temporada 2012 en el Teatro 3 de Febrero. Asistí al estreno acompañado de mi padre y mi ahijada. Ayer fue la segunda presentación en Paraná, tercera en la provincia (la sinfónica recorre la provincia durante todo el año), pero ayer fui solo por […]

César Portela: Arcos y Flechas

Entre las actividades que podían apreciarse durante el fin de semana pasado en el parque Urquiza de Paraná estaba el tiro con arco y flecha organizado por Arqueros del C.B.N.. Con la posterior excusa de comprar empanadas fritas de pescado en un lugar cercano ;-), estacioné el auto cerca y con mi viejo fuimos a […]

Martín Cerdeira: Cloud.obj - Objetos Python en la nube

Primero que nada, un poco de historia. Estaba pensando: Se pueden importar módulos que estén en un servidor remoto? Y, si es sí, se puede hacer fácil, con poco código y, portable?

Todo eso, en Python, fue un SI.

La idea es, Cloud.Obj es un repositorio de modulos de Python, de donde todo el mundo puede hacer sus "imports", sin modificar demasiado el código que usarían para importarlo localmente.

Lo único que se necesita es bajar un modulito, "cloud.py" y ya está listo para usar, sin dependencias ni nada más extra.

Aquí, un ejemplo de uso:

  1. #A simple, example
  2.      
  3. import cloud
  4. o = cloud.Obj("http://cloudobj.appspot.com/sys") #o is the module sys
  5. print "The path is ", o.path
  6. print o

Por supuesto, si picara la curiosidad o si, simplemente, quisieran montar su propio servicio, el código del "server", también está en GitHub, listo para que lo bajen, en sus versiones "Servidor local" y "listo para deploy en GAE"

Más adelante, tendrá dos sabores:

Public Repo: Módulos importables públicos, para todos.
Private Repo: Con login, para quienes quieran subir código importable, protegido con password.

Cabe aclarar que, si bien hablo de repositorios, la idea no es ser un github, sino, un lugar común y en la nube, desde donde importar la última versión del módulo X.

Aquí los links:

Servicio en GAE
Download
GitHub

Y, cómo siempre, se aceptan ideas, críticas y quien quiera participar, bienvenidisimo!

César Portela: Un sueño accidentado

Hace varias semanas, casi dos meses, tuve un extraño sueño. Tomé nota del mismo (de vez en cuando lo hago) y hoy se los ofrezco para su análisis: Estaba en lo que parecía ser la esquina de San Martín y Laprida. Más sobre Laprida que sobre San Martín. Miraba hacia la Plaza San Miguel (su […]

César Portela: Pequeña odisea de un trámite de documentos

Ya desde el año pasado, antes de las elecciones, tenía ganas de sacar el nuevo DNI y jubilar a la vieja libreta verde. Pero dada la proximidad de tan importante acontecimiento democrático y no queriendo complicarme con algún posible error en el padrón electoral o que mi documento se extraviara por ahí impidiéndome votar, desistí […]

Mariano Reingart: PyCon US 2012 ("lo que nunca te contaron...")

El siguiente texto nació como una especie de rant escrito en una madrugada de insomnio (tratando de escribirlo antes de olvidarme la mayoría de las cosas), pero ya está más depurado. Sepan disculpar los inconvenientes.

La Previa

Envío de Propuestas

Para 2011 había enviado dos propuestas, una charla sobre factura elctrónica (pdf, webservices, etc.) y un poster sobre "pyreplica" (replicación para postgresql con python). 
El poster fue aceptado, la charla no tuvo la misma suerte, pero recibí un correo de notificación explicando los motivos (resumido: la facturación es un nicho, y hay charlas mejores). Lo mismo me paso en 2009 en la primer Conferencia de Python Argentina, por lo que posiblemente la redacción de la propuesta no fue lo suficientemente clara y adecuada para este evento, dado que a mi humilde entender, la charla trataba sobre otros temas más generales como servicios web, pdf, cli/gui, rpc con otros lenguajes legados, bases de datos, etc.
Charla "Python Caveats: Fixing Broken Windows"
Para este año intenté mejorar la descripción de la charla, con un abtract abarcativo y un bosquejo detallado, citando referencias, links a código fuente, estadísticas, etc. Estaba inspirado por el cuasi-panel "Python Apesta" de PyConAr 2011.
Al día de hoy desconozco puntualmente el motivo de rechazo, pero seguramente este año hubo charlas mejores (de hecho las propuestas superaron en 4 veces la cantidad de espacio disponible para charlas).
Ver más adelante en la sección revisión algunos temas "no del todo documentados" relacionados con la selección de charlas. 
Posiblemente haga una entrada de este blog para ir refinando el tema.  
Poster "RAD2PY: platform+IDE for solid & predictable Rapid Application Development"
Basado en mi trabajo de tesis de licenciatura, prepare un poster para presentar:


Como toda la propuesta no entró en el poster principal, arme dos carteles complementarios (web2py y gui2py):



Felizmente el poster fue aceptado: https://us.pycon.org/2012/schedule/presentation/147/

El poster tenía contenidos similares a los de la charla, resumiendo las 200 hojas de investigación.
Un consejo: si desean presentar algo en PyCon, por las dudas, preparen un póster (hasta tienen más posibilidades que una charla relámpago, ver más adelante...)
Además, los posters se aprueban a medida que llegan (con una demora de 1 mes aproximadamente), por lo que es útil para solicitar una Carta de Invitación para ir tramitando la Visa.

Por el presente agradezco públicamente a JuanBC que me ayudó con la tipografía y temas de diseño (y lo más importante, diseño el logo de rad2py).

Revisión de Charlas

Como voluntario, participe en algunas etapas de la selección de charlas. 
Comenzar es sencillo, un email introductorio al Comité de Programa (indicando nombre de usuario del sitio web y una breve biografía) y te habilitan el acceso a todas las charlas, con la posibilidad de hacer comentarios y la correspondiente revisón. 

La revisión se basa en la técnica Identify the Champion, básicamente un puntaje entre +1, 0, -1, para literarmente defender u oponerse en alguna medida a cada charla. 
Traté de revisar algunas, revisar todas era físicamente imposible y además uno debería tener conocimientos en la materia, por lo que me limité a charlas de web, gui, postgresql, educación, etc.

Hasta donde recuerdo, como reglas generales, se debía priorizar proyectos reconocidos con una base de usuarios considerable, con código funcionando, documentación, etc. (de lo contrario, sugerían poster). Las charlas de comunidad fueron casi todas rechazadas (ver más adelante charlas relámpago). La biografia del autor era muy influyente (haber dado una charla previamente y ser experto en la materia era casi excluyente). Las propuestas poco detalladas serían rechazadas si el autor no contestaba los comentarios o no proveía más información (con algunas excepciones de autores reconocidos o temas puntuales).
En teoría se debía calificar respecto a la propuesta concreta, no sobre la hipotética charla que nos gustaría ver.

Si mal no recuerdo, las charlas con todos los votos negativos se descartaron directamente. Las que no tenían algún +1 quedaban en el limbo como dudosas. Las que tenían exclusivamente +1 se aceptaban casi automáticamente, pero fueron las menos (IIRC). El esquema es parecido al que se usó en PyConAr los primeros dos años.

Luego vino el thunderdome, un "campo de batalla virtual" por chat para "luchar" a favor o en contra de cada charla (generalmente divididas en grupos de a 3-4, por afinidad, donde se debía aceptar, separar y descartar las propuestas). En mi caso no pude seguir el rítmo (perdí la cuenta de la cantidad de reuniones por IRC, a veces dos por día) y no llegué a comprender del todo algunos argumentos (en ocasiones parecieran bastante intuitivos en los escasos minutos que había disponibles para tomar una decisión sobre cada charla).

Por último, quedaron algunos espacios vacantes por lo que se resucitarón algunas charlas (aquellas separadas en el thunderdome) a criterio del coordinador de programa, que solicitó previamente algunos comentarios no vinculantes.
En mi humilde opiñon, este sistema es bueno para conferencias científicas/académicas donde uno tiene el artículo (paper) por anticipado y realmente hay pares expertos. Para conferencias comunitarias, creo que es mejor un sistema de voto alternativo por preferencias ponderadas (similar al sistema de Python Brasil y PyConAr en las últimas ediciones, incluyendo en ciertos casos una consulta al público que en definitiva es el que va a ver las charlas, como en EuroPython y PyConAr). 

    Asistencia Financiera

    Una de las principales barreras para asistir a PyCon US es el costo de los pasajes, estadía y entrada al evento (no es gratuito). Si bien no es algo impagable, los importes y el tipo de cambio son considerables para ir desde Argentina (desde 300 dólares la inscripción individual, 190 dólares la noche de alojamiento, 150 dólares cada tutorial, 1400 dólares el pasaje de avión, sin contar los costos de tramites visa, seguros, etc.).

    El año pasado, luego de completar el formulario,  dado la gran cantidad de solicitantes, me ofrecieron la entrada sin costo y 1/5 del pasaje. Finalmente luego de algunos días de espera para ver si se podía conseguir fondos adicionales, lo decliné para dejarle lugar a otra persona a la que le cierren mejor los números.

    Este año me ofrecieron algo similar (esta vez incluyendo noches de alojamiento, pero solo 50% de descuento en la registración bonificada). Luego pudieron ampliar la beca un poco y gracias a que pude sacar el pasaje con anticipación (bajo una promoción) y una mejor situación financiera personal, decidí emprender el viaje.

    La Conferencia

    Tutoriales

    Tomé dos tutoriales:
    • Faster Python Programs through Optimization
    • How to get the most out of your PyPy
    Para decirlo en criollo, tuvieron gusto a poco. En el primero tuve que compilar una herramienta (otras directamente no estaban soportadas) y en lineas generales no tuvo la profundidad esperada. En el segundo, termine encontrando un bug (feature no implementado) que me imposibilitó seguir.

    Parece que no fue algo aislado, el día previo ayude a una señora que tenía problemas para instalar Qt en su Mac, y luego al cruzarmela en la registración habiendo tomado el tutorial, no lo pudo instalar ni con la ayuda del instructor (por el tiempo que requiere), por lo que lo tomo con humor decidiendo que no era para ella, a lo que le recomendé wxPython como alternativa antes de Tkinter, que estaba por empezar a ver.

    Seguramente tuve mala suerte al elegir tutoriales que no eran para mi, ya que luego hablando con Tatiana Alchueyr, me comento que había asistido a un tutorial que estuvo muy bueno.

    WebDev Summit

    De lo mejor que vi en la conferencia. Un día entero dedicado al desarrollo web, con varios paneles tratando las distintas problemáticas:

    Me tocó reemplazar a Massimo Di Pierro como disertante en el panel "Factoring Code for Reuse", ya que por tema de horario él no podía asistir. Espero haber cumplido, lamentablemente mi Inglés no es perfecto pero viendo al moderador y charla informal posterior, entiendo que el mensaje llegó satisfactoriamente.

    Lo interesante fue ver como web2py encara satisfactoriamente algunos temas planteados, que no fueron considerados (calculo por desconocimiento) en la mayoría de ocasiones, como el despliegue simil .WAR con un paquete todo-incluido; reuso de otros modelos/componentes intercambiable entre bibliotecas; y promoción de Python para la Web (windows, educación, diseñadores y no programadores, etc.).

    Afortunadamente Massimo llegó luego del almuerzo y pudo dar una charla relámpago mencionando el modo en que web2py esta afrontando estos temas, espero que sirva para hacer de Python realmente una comunidad más diversa...

    Más alla de esto, fue muy interesante la jornada, viendo un poco cual es la tendencia actual, cuales son los problemas que enfrentan otros frameworks y buscar formas de colaborar (que discutimos luego en los sprints).

    Backstage, Registración y Desayuno

    La noche del Jueves se realizó el armado de bolsas (todavía no entiendo como se llenaron 2000 bolsas en un par de horas, teniendo en cuenta que incluía bastantes materiales e incluso otra bolsa). No tengo la cuenta, pero todos fueron voluntarios, tanto disertantes como organizadores y participantes ayudaron por igual.


    Por la mañana del viernes fue el grueso de registración (pasabas el código de barras impreso en la hoja, te entregaban otra hoja troquelada para hacer origami y armar el identificador con el colgante, a lo que se le pegaban las cintas según el tipo de participación):


    Ayude en lo que pude en ambos, fue útil para conversar y conocer gente, por ej. le entregue la remera a Armin Ronacher, y de paso le pregunté si quería venir a Argentina.

    El desayuno en el lugar también fue útil para charlar con gente y aprovechar mejor el día, lo que se complementaba con el almuerzo también en el lugar, donde por ej. nos juntamos con Tatiana para conversar temas de PyConAr 2012 y PythonBrasil 2012, y de casualidad me sente en la misma mesa que Brett Cannon, asique aproveche para comentarle sobre PyConAr (Ricardo Kirkner había hablado algo con él previamente).

    Charlas 

    El Viernes, Sábado y Domingo fue el evento principal. Más de 100 charlas llenaron el cronograma:
    Apertura, Keynotes y Plenarias

    La apertura fue muy entretenido, con un show de robots comandados por python (hubo una mínima demora esperando que la mayoria apague sus notebooks por la interferencia). Luego en el stand se pudo apreciar de cerca (ver abajo).

    La primer keynote, Stormy Peters de Mozilla, no tuvo mucho que ver con Python pero si con la comunidad, el open source. Si mal no recuerdo, arrancó como la web influye hoy por hoy nuestras vidas, habló de no maltratar ni espantar a los nuevos usuarios, no imponer el software libre a toda costa, etc.
    Para la segunda keynote estaba ayudando en la registración, pero por lo que escuche, fue más orientada a startups.

    La plenaria del Sábado (David Beazley) fue mucho más interesante y orientada a python (anunciada como técnica y diabólica), pero me quedo un sabor agridulce al ver la conclusión final sobre el futuro (no quiero faltar a la verdad con mi mala memoria, les recomiendo que la vean ya que es muy llevadera, tiene el estilo de Roberto Alsina).
    La plenaria del Domingo (Guido) obviamente fue 100% python, con un mensaje sobre el GIL y Android para pensar. En general, los consejos fueron interesantes, y el panorama del mundo Python creo que lo dejo en claro.
    Charlas Programadas
    Hubo charlas muy interesantes para mí como la de Armin Ronacher ("Code Generation in Python: Dismantling Jinja") y en menor medida, "Stop Writing Classes", "Web Server Bottlenecks And Performance Tuning", "RESTful APIs With Tastypie", "How CherryPy supports Python 2 and 3", "Spatial data and web mapping with Python", "Deep Freeze: building better stand-alone apps with Python". 
    Si bien ninguna tuvo la verdad revelada (dificil para 30 o 40 minutos), me llevé consejos utiles de ellas para procesar luego con más tranquilidad (que todavía no tuve).

    A la de Raymond Hettinger ("The art of subclassing") no pude entrar porque estaba llenno, pero aparentemente también fue muy buena.
    Otras, como "Putting Python in PostgreSQL" y "web2py: ideas we stole and ideas we had", me fueron útiles desde otra perspectiva, mas que nada, el modo de presentación, la interacción y preguntas.


    Una frase que me quedo dando vuelta fue "For the questions I warn you: I'm an architect so I don't know the details". Me pareció raro en una conferencia de este tipo (dado el tipo y descripción de charla). En estos casos, creo que tener de antemano el borrador de la presentación o un articulo/paper ayudaría a que no haya malos entendidos. 

    También me llamó la atención que la mayoría de las charlas terminaban con un mensaje tipo "Tenemos un startup, estamos reclutando empleados!", algunas llegando al punto de sobrevolar los temas técnicos para directamente recomendar contratar la solución comercial que ofrecían. 
    No digo que este mal, de hecho me parece útil conocer todas las opciones, solo que algunas me tomaban desprevenido.

    En algunas charlas trate de ayudar como session runner, no sin los sobresaltos típicos (el disertante no aparecía en una charla, el session chair no aparecía en otra, el session runner -yo- llegaba tarde y temas menores), igualmente fue enriquecedor y sirvió para romper un poco la rutina. La "green room" donde se reunía a los disertantes antes de la charla y se los obligaba a terminar (grabar en el pendrive) y probar la charla en el proyector fue bastante útil. 
    Charlas Relampago
    Las charlas relámpago de 5 minutos que ví fueron muy interesante, lastima que el video de PyAr que habíamos hecho (JuanBC principalmente, con la colaboración de todos) no fue seleccionado...


    Este año cambiaron las reglas y la selección en vez de ser por orden de llegada fue aleatoria (y el cronograma era bastante rígido, al punto de no poder cambiar el contenido de los slots que fueron adjudicados a otros miembros de PyAr). De haberlo sabido, quizás hubiera armado un poster o pedido  un stand comunitario. 


    Particularmente no se si es el mejor método para elegir charlas relámpago, ya que las hojas se llenaban estando hasta dos días disponible sin limite práctico (o sea, se anotaron 2 o 3 veces más propuestas del tiempo disponible). Creo que de este modo se pierde un poco la mística, en cambio, limitar a 10 charlas + backups me parece que le da más entidad, obligando a preocuparse y negociar un poco más con otros disertantes y el coordinador  (salvo que falle la interfaz humana, como en este caso).

    De hecho, este tema (expresado en un email de "feedback" en la lista de organización por quien escribe), sumado a que se rechazaron la mayoría de charlas de comunidad, quizás dé nacimiento a un track "comunidad" valga la redundancia, para agrupar las charlas que no cumplen los criterios de "notoriedada" y "audiencia" necesarios para las charlas generales.

    Espacios Abiertos

    Prácticamente me los perdí, estaban un poco alejados y no estaba muy atento a los temas que se presentaron. 
    De hecho, con Massimo armamos un espacio abierto de web2py al que no asistí porque se me superpuso con una charla y al llegar ya era tarde (en realidad me olvidé...). 
    Todavía me arrepiento ya que la charla no estuvo muy buena y me perdí de hablar con Guido, que estaba interesado en el depurador web (si, leíste bien, aparentemente GvR fue al OpenSpace de web2py...).

    El Testing BOF lleno mucha gente, no me pude quedar porque ya estábamos cansados, pero tenían proyector y todo, también me queda como asignatura pendiente para la próxima.

    Salón de Exposición

    Expositores
    El Viernes y Sábado armaron los stands de los expositores (Sponsors) y comunidad (PyLadies, Women Who Code, Pyramid). Eran varios stands, la disposición se asemeja mas a una evento comercial de TI (a diferencia de los eventos de software libre que he visto regionalmente).

    Más allá del merchandising, no alcanzaban los intervalos para recorrerlo completamente e interiorizarse con cada Stand, lo que le aportaba mucho a la conferencia.   
    Incluso cada tanto en el stand de NAO, los robot bailaban bajo la influencia pythónica:

     

    (perdonen la calidad de la foto, la camara tenía problemas con poca luz, por suerte la perdí...)
    Posters y Feria de Empleos
    Los posters fueron otro punto fuerte de la conferencia a mi entender. Del hall de esposiciones levantaron los stands y cada uno armo su poster. Durante una hora y media la gente se mostró muy interesada en los más de 40 posters, incluso el mismo GvR recorrió algunos y converso con los expositores. 


    El pizarron con mi poster (en ocasiones, flanqueado por Massimo en el poster secundario de web2py)


    En el fondo se ubicó la  Feria de Empleos, un lugar con mesas para que los Sponsors pudieran realizar entrevistas laborales y hablar con los interesados.

    Sprints de desarrollo

    Las reuniones de desarrollo fueron otro punto considerable de la conferencia. Según los organizadores, se lograron juntar alrededor de 700 desarrolladores el primer día.

    Si bien había proyectos para todos los gustos, estuve organizando un sprint de web2py, con varios interesados, principalmente:
    • Discutiendo temas surgidos del summit como gluino (un mini web2py que corre sobre flask, bottle, e incluso django) 
    • Implementando nuevos features, como el editor Ace para web2py, soporte para toscawidgets, coffeescript, etc.
    • Resolviendo algunos bugs y recibiendo feedback de los usuarios
    El resultado fue positivo, si bien Massimo tuvo que partir temprano, estuvimos trabajando varios días y la interacción con otros desarrolladores fue muy buena, abriendo un camino para que el año que viene otro desarrollador de web2py tome la posta y continuemos expandiendo nuestra comunidad.


    web2py sprint

    Hallway track, cenas y Party Nights

    Los pasillos en los intervalos fueron el mejor lugar para conocer gente, charlar y coordinar otras actividades, como las cenas y salidas (por cierto, no había muchos lugares cerca y encima casi todos cerraban a las 8pm por ser zona comercial, y como el transporte público existe y es regular -cada 1 hora-, conviente alquilar un auto o quedarse en el hotel).

    También conversé con Josh Berkus (core de PostgreSQL) acerca de que quizás sea interesante armar un PgDay en paralelo/cerca de la PyCon y aprovechar speakers en común (me vino a la mente Hannu Krosing, quién fue DBAs de Skype y miembro del proyecto SkyTools: replicación + python, ha dado charlas en otras PyCons, etc).

    Me encontré con usuarios de web2py de diversas partes del mundo (España/Finlandia, Brasil, India, Canada y por supuesto de EEUU). También me cruzé y con gente de Reino Unido, Austria, Singapur y otros países que ya no recuerdo.


    Algunos días hubo fiesta, PyCon Party y PyLaydies. A la primera, si bien tenìa la entrada, no fui ya que estabamos reunidos con gente que no tenía entrada. A la segunda, fuimos y ahí con Massimo nos encontramos con Tatiana, donde lo invitamos a ambas conferencias.

    Cerrando la reseña, en el lobby del Hyatt había un Pizarrón para grafitis lleno de mensajes, como ejercicio se puede comparar el  antes y después (¿por que es la progamación tu pasión? qbasic rules!): 


    Yapa

    Santa Clara esta en el medio del Silicon Valley, asique había cerca varios museos, incluyendo el de Intel (con su frase inspiradora: "Don't be encumbered by history. Go off and do something wonderful") y el Museo de la Historia de la Computadora (donde se exhibe el libro "The Mythical Man Month", referencia inicial de mi tesis y del póster):


     

    También se puede observar el botón "Steal From Your Friends" de la comunidad DECUS, y un recordatorio sobre "Sharing Software and Advice", como muestras de cooperación de hace más de 50 años.

    Post-Conferencia

    Aprovechando que estabá alla, como mini vacaciones me tome unos días para recorrer San Francisco y los Parques Nacionales de la zona.

    En el Sprint conocí a Ramiro da Luz, miembro de Python Brasil y organizador de varios eventos, asique pasamos el fin de semana conociendo California y entre las sequoias conversamos sobre Python, web2py, PyConAr, PythonBrasil, PyAr, APyB, el trabajo y la familia.

     
     

    "La fiesta termino ... y todo sigue igual", es hora de arrancar con la organización de PyCon Argentina 2012, cualquier cosa nos vemos en la próxima reunión. Traje merchandizing para repartir!

    YMMV

    Ramiro Algozino: Permisos insuficientes al clonar una PC con VMware Converter

    VMWare Converter es una excelente herramienta que me presentó un amigo del trabajo, permite clonar máquinas físicas a imágenes de máquinas virtuales entre otras cosas, incluso haciéndolo remotamente a través de la red. Realmente impresionante y las ventajas de poder hacer algo así son ¡interminables!. Cualquiera que labure con servidores o administrando muchas PCs sabrá de lo que hablo.

    Pero este post no es solo para recomendarles que prueben este maravilloso software, sino para contarles (y de paso de ayuda memoria mío) cómo solucionar el inconveniente que se nos presentó a nosotros.

    A la hora de comenzar el clonado de la PC, no saltó un cartel de error diciendo:

    
    Insufficient permissions to connect to '\ADMIN$'
    
    

    A lo que nos quedamos helados… habíamos puesto las credenciales de administrador del sistema a clonar correctamente (después de varios intentos frustrados xD) pero no había caso. Luego de googlear un ratito encontramos acá que podría deberse a tener activado el “uso compartido simple de archivos”. Sin más vueltas lo desactivamos yendo a Herramientas -> Opciones de Carpeta -> Ver y Destildando la última opción de la lista que es la correspondiente a dicha característica:

    Camputa Compartido Simple Archivos XP

    Habiendo desactivado esta opción, todo siguió su curso normal y pudimos clonar una PC entera a una imágen de PC virtual en cuestión de minutos. La levantamos y, luego de instalar las VMware Tools, todo funcionaba exactamente igual que en la PC física. ¡Un golazo!

    PD: Si les interesa un tutorial de como hacer para clonar una PC pidanló en los comentarios y lo armamos. Tenemos planeado hacer uno de cómo levantar un servidor con ESX para correr las máquinas virtuales sobre él.


    alecu: Wikipedia in the Classroom

    Wikipedia en el aula

    (en español)

    Finally I got my hands on a copy of the DVDs that educ.ar released using CDPedia, the free software project that compresses as much as possible of the Spanish Wikipedia on a disc.

    Thanks to the help of Jimmy Wales and Martín Varsavsky these 8.5Gb DVDs are being distributed to each and all schools in Argentina, and it’s a great thing because they contain 100% of the articles in the Spanish Wikipedia, and all of the accompanying images (some in reduced size), and -it’s also worth noting- they also may contain any error or vandalism that may have happened in Wikipedia at the time each page was downloaded.

    This post is to celebrate the project coming full circle, so I’m going to tell the story of how it was completed, and I’m going to finish with some ideas for the next stage.

    The story of the project

    Our CDPedia project was born around 2006 with the idea of getting the knowledge accumulated on Wikipedia to the most remote schools in the country: those where there is no Internet.

    Colección Ministerio de Educación

    Some members of the Python Argentina user’s group got together on a few random sprints after free software events, and worked on improving the source code. As every amateur software project that’s starting up, CDPedia was developed during the free time of every contributor, and we released a first 0.5 version in 2009, during our first PyCon Argentina conference that took place just a week after Wikimanía in Buenos Aires.

    Something unusual happened by the end of 2009: I got an email from Jimmy Wales, that was coming to Buenos Aires the following month and wanted to find out more about our project. We met him, showed him the 0.6 version we were working on, and he praised it because it looked so much like the online Wikipedia. That same day I had a meeting with him and some members of educ.ar, the educational web portal of the Argentine state, which through a grant of the Varsavsky Foundation would be able to publish a dual layer DVD with a CDPedia edition.

    During that meeting we talked about the things that were needed to achieve an interesting result: we had to test CDPedia on many “relatively old” computers, such as the PCs that you can find through the country; also there were many bugs to fix, and most importantly of it all: due to technical issues the Wikimedia Foundation had stopped publishing the “html dumps” that our project used as a base. The final one was from June 2008, and we all agreed that it made no sense to publish a DVD in 2010 with content that was so old.

    That’s how we managed to get financing for two interns from PyAr during three months part-time to fix bugs and polish every technical detail. But after trying through several channels and in diverse ways we were not able to get an up-to-date html dump similar to the one we were using, so we ended up using the hours assigned to the interns to build a replica of the Wikipedia setup starting from the DB dumps that Wikimedia did provide at the time. This road also proved worthless, because there were many configuration and performance details that were eluding us, and that meant that our Wikipedia test setup never worked fine.

    The project was delayed, we were angry and hopeless, when at the post-PyCon 2010 asado in October 2010, one of the contributors suggested making a small program to download the whole of Wikipedia, one page at a time, and directly from his home. This was an option that we had half-jokingly suggested earlier on a meeting with educ.ar, so our reaction was one of true disbelief: a lot of things could go wrong with that idea. But as it so often happens, code beats opinions. Two days later SAn had achieved through an alternate road a Spanish Wikipedia html dump, something that we had not managed to achieve in months of efforts.

    From there we worked a lot on updating our code due to every detail that had changed in Wikipedia since 2008, and on optimizing the disc space because the growth in pages and images had been exponential. We managed to send the final version to educ.ar by the end of June 2011, and we worked later so the disc covers and the disc itself had some kind of legend that encouraged the copying of the disc freely, but with the license restrictions of each part: the main content from Wikipedia, the classroom material made by educ.ar and the free software from the CDPedia project.

    I must now focus the spot on these guys: Diego Mascialino, Facundo Batista and Santiago Picinnini for the amount of time they put in the project during the final race to the 0.7 version that was used in the educ.ar disc, and also on all the contributors that thru the lifetime of CDPedia helped with code and ideas. Having added my grain of sand to this project together with my friends from Python Argentina makes me so much proud.

    Looking forward

    This is also a good time to start thinking on some of the things we should work on to make CDPedia 1.0 much better. Here are a few: 

    • it ought to work fine in school servers with no Internet access, or where this access is limited, since CDPedia right now only works fine for only one user at a time
    • we should facilitate local installation, for educational laptops like the “Conectar Igualdad” plan in Argentina, or the OLPCs
    • we should work on improving the current CDPedia so it can be useful for other spanish speaking countries
    • we should work -probably with the Wikimedia Foundation- so it can be used for the offline editions of Wikipedia in other languages.

    Links:

    alecu: Wikipedia en el Aula

    Wikipedia en el aula

    (in english)

    Al fin llegó a mis manos una copia de los DVDs que educ.ar editó usando CDPedia, el proyecto de software libre que comprime lo máximo posible de Wikipedia en un disco.

    Gracias a la gestión de Jimmy Wales y Martín Varsavsky estos DVDs de 8.5Gb están siendo distribuidos a todas y cada una de las escuelas de Argentina, y contienen el 100% de los artículos de la Wikipedia en Español y el 100% de sus imágenes respectivas (algunas en tamaño reducido), y vale la pena aclarar, tienen también cualquier error o vandalismo que pueda haber habido en Wikipedia al momento en que bajamos cada página.

    Este post es para festejar que se completa el círculo, asi que voy a contar la historia de como se llevó a cabo, y voy a terminar con algunas ideas que tenemos para la próxima etapa.

    Historia del proyecto

    Nuestro proyecto CDPedia nació cerca del 2006, con la idea de llevar el conocimiento acumulado en Wikipedia a las escuelas más remotas del país: aquellas donde no llega Internet.

    Colección Ministerio de Educación

    Entre varios colaboradores del grupo de usuarios de Python de Argentina nos juntamos en varios sprints ocasionales tras algun evento de software libre, donde trabajamos para mejorar el código. Como todo proyecto amateur que arranca, CDPedia fue desarrollada en el tiempo libre de cada colaborador, y lanzamos una primera versión 0.5 en 2009, durante la primera conferencia PyCon en Argentina, que fue realizada justo una semana después de Wikimanía en Buenos Aires.

    Algo muy raro sucedió a fines de 2009: recibí un mail de Jimmy Wales, que venía a Buenos Aires al mes siguiente y quería conocer más sobre nuestro proyecto. Nos reunimos con él, le mostramos la versión 0.6 en la que estabamos trabajando y nos elogió porque el resultado era muy similar a estar mirando Wikipedia conectado. Y ese mismo día tuve una reunión con él y con educ.ar, el portal educativo del estado argentino, que a través de un aporte de la Fundación Varsavsky estaba en condiciones de editar un DVD doble capa con una edición de CDPedia.

    Durante la reunión charlamos las cosas que hacían falta para lograr una edición interesante: había que probar CDPedia en muchas computadoras relativamente “viejas”, tal como son las computadoras que se pueden encontrar en las escuelas del país, faltaban corregir muchos bugs, y lo más importante de todo: por problemas técnicos la Fundación Wikimedia había dejado de publicar los “dumps HTML” que nuestro proyecto aprovechaba como base. El último era de Junio de 2008 y todos acordamos que no tenía sentido editar un DVD en 2010 con contenido tan desactualizado.

    Asi fue como conseguimos que se financien dos becarios de PyAr durante tres meses para corregir bugs y pulir todo los detalles técnicos. Pero por más que probamos por varios canales y de diversas maneras no conseguimos un dump HTML actualizado similar al que veníamos utilizando, por lo que se gastaron las horas asignadas a los becarios para armar una replica del software de wikimedia a partir de los dumps de bases de datos que Wikimedia si proveía en ese entonces. Este camino tampoco dio resultado, porque hay muchos detalles de configuración y de performance que se nos escapaban y nuestra instalación de prueba de Wikipedia nunca funcionaba bien.

    El proyecto estaba demorado, estabamos enojados y desesperanzados, cuando, en el asado de PyCon en Octubre de 2010, uno de nuestros colaboradores sugirió hacer un programa para descargar completamente Wikipedia, página por página, directamente desde su casa. Sobre esta opción se había bromeado en una reunión organizativa de fines de Mayo. Nuestra reacción fue de incredulidad: había muchas cosas que podían fallar con esa idea pero, como suele pasar, el código le gana a la opinión: dos días más tarde SAn había conseguido por un camino alternativo un dump en HTML de Wikipedia en Español, algo que no habíamos logrado en meses de esfuerzos.

    A partir de ahí estuvimos trabajando bastante en actualizar nuestro código debido a todos los detalles que habían cambiado en Wikipedia desde 2008, y en optimizar el espacio en disco porque el crecimiento de páginas e imágenes había sido exponencial. Conseguimos enviar la versión final a educ.ar a fin de Junio de 2011 y estuvimos trabajando luego para que las carátulas y el disco tuvieran alguna leyenda que incentivara la posibilidad de copiar el disco libremente, dentro de las limitaciones de las licencias de cada parte: el contenido principal de Wikipedia, el material para el aula realizado por educ.ar y el software libre de CDPedia.

    Debo mencionar en este punto a Diego Mascialino, Facundo Batista y Santiago Piccinini por la cantidad de horas que le dedicaron en la recta final para la versión 0.7 que se utilizó en el disco de educ.ar, y a todos los colaboradores que a lo largo de la vida de CDPedia aportaron código e ideas. Haber puesto mi granito de arena en este proyecto junto a mis amigos de Python Argentina me llena de orgullo.

    Mirando para adelante

    Y también este es un buen momento para ponernos a pensar en algunas cosas en las que tenemos que trabajar de acá al futuro para que CDPedia 1.0 sea mucho mejor:

    • que pueda ser instalada en servers escolares que no tengan acceso a Internet o donde el acceso sea limitado, ya que actualmente fuciona bien para un solo usuario
    • una version para instalaciones locales, para laptops educativas como las del plan Conectar Igualdad o las de OLPC
    • conseguir que CDPedia pueda ser utilizada en otros países hispanoparlantes
    • trabajar en conjunto con la Fundación Wikimedia para que pueda ser utilizada en ediciones offline de Wikipedia en otros idiomas.

    Enlaces: