Canonical Voices

What Bitácora de Vuelo talks about

facundo

Algunas herramientas piolas


Hace rato que vengo con ganas de hablar acerca de una serie de herramientas interesantes que he encontrado.

Son de lo más variadas. Lo único que tienen en común es que solucionan un problema específico que tuve o tengo. Y que me parece que son piolas :)

Limitando el ancho de banda: ¿Tienen una aplicación que les usa mucho la red? Aunque la misma no esté preparada para autolimitarse, siempre se puede hacer desde afuera, y para ello nos viene a ayudar trickle, un utilitario que hace justamente lo que queremos: ejecutar otro programa limitándo su ancho de banda usable para download, para upload, o ambos.

Midiendo uso de recursos: Muy relacionado con lo anterior, a veces vemos que la red se está usando, pero no sabemos por qué proceso. Para contestarnos esto tenemos dos herramientas, IPTraf y NetHogs,  que nos muestran la info pertinente de forma bastante distinta, por lo cual está bueno tener ambas a mano, para probar cual nos va mejor en cada momento. También nos pasa parecido con el uso del disco. en este caso nos salva las papas el iotop. Para recursos como memoria y CPU tenemos el clásico top, obviamente, pero muchas veces uso htop que es más interactivo y me facilita la exploración.

Fijate si cambió:¿Alguna vez les pasó que tiran un comando en la terminal cada algunos segundos para monitorear algo, tratando de ver si algún dato cambia o viendo cómo cambia? En estos casos lo mejor es usar watch, que nos ejecuta el programa que queremos, cada los segundos que le especificamos, y encima nos resalta los lugares donde hubo cambios con respecto a la ejecución anterior. Más útil de lo que parece.

Mandando muchos mails:Me pasa seguido, para organizar jodas en casa, o eventos en PyAr, o cursos, etc, que tengo que mandar el mismo mail a mucha gente. Mandar uno por uno es mucho trabajo; mandar todos en "copia oculta" es muy impersonal; y ponerlos a todos en "copia visible" es una mala práctica. Por suerte está Mail Merge, un plug-in para Thunderbird que hace todo sencillo: uno pone todos los destinatarios en el campo de "Para:", pero luego en lugar de hacer click en "Enviar", se elige la opción de MailMerge, y en vez de salir uno para todos, el plug-in manda un mail a cada uno. Limpio, y útil. Y tiene opciones para lograr cosas más complejas, pero no lo exploré demasiado, con esta funcionalidad básica por ahora me alcanza.

Seguridad, seguridad: Por último, la herramienta que más me tiene fascinado estos últimos tiempos. Se llama KeePassX, y marcó un antes y un después en mi administración de contraseñas. En el pasado, yo tenía tres o cuatro claves... una genérica, una para lugares de "alta seguridad" como el banco, etc, y las repetía en varios sitios. Así y todo, las claves no eran demasiado complejas (usaba mayúsculas, minúsculas y números, pero no caracteres extraños, y nunca superaba los 10-12 caracteres). ¿Por qué? ¡Por que me las tenía que acordar! Con KeePassX, sin embargo, ya no me las tengo que acordar: se guardan en un archivo (cifrado con una clave que sí tengo que acordarme, y la hice complicada y larga, pero es una sola). El programa no es mucho más que eso, pero también te permite relacionar campos con la clave (en qué sitio va, el nombre de usuario,etc), y también tiene campos genéricos donde uno puede escribir cualquier cosa. Ah, y también te autogenera claves... entonces, la realidad es que ni siquiera veo las alguna vez! Todo esto, sumado a la facilidad de uso (por ejemplo, ctrl-B sobre una entrada te copia el nombre del usuario, y ctrl-C te copia la clave) y que tiene clientes para muchas plataformas (incluida Android), hace que sea una herramienta maravillosa.

Read more
facundo

Corriendo tests


En la vida del programador hay una tarea que lleva bastante tiempo, y es la de correr tests, ya sean "unit tests" (pruebas unitarias) o "integration tests" (pruebas donde se hacen interactuar subsistemas entre sí).

Es cierto, no todos los proyectos tienen tests, pero deberían. ¡Y son un vicio! Una vez que los probaste, querés pruebas en todos los proyectos. Pero claro, a los tests hay que correrlos, y hay muchas maneras de hacerlo.

La verdad es que la estructura de los tests es siempre la misma (o casi siempre), obviamente hablando de proyectos en Python, pero la forma de correrlos, y especialmente la forma de presentar los resultados, varía mucho de un corredor de tests a otros.

A lo largo de años he probado distintos, y debo decir que ninguno cumple 100% con lo que a mi me gustaría tener en el test runner ideal. Por otro lado, seguramente alguno (como nosetests, por ejemplo), cumpla gran porcentaje de lo que quiero, es cuestión de lograr lo que falta.

Acá está la listita de las cosas que cumpliría mi test runner soñado. Propuse un proyecto en el PyCamp de este mes para laburar en esto (obviamente no escribir algo desde cero, sino lograr el objetivo con el menor esfuerzo posible).

Le puse un número a cada ítem para que sea más fácil referenciar en cualquier discusión:

01. Debería soportar que le pase un directorio (default a '.') y que descubra todo ahí y para abajo:

        $ <testrunner> project/tests/
        $ <testrunner>

02. Debería soportar que le pase un archivo, y que corra sólo los tests de ese archivo:

        $ <testrunner> project/tests/test_stuff.py

03. Debería soportar que le pase "paths de import de Python", y que corra sólo tests de ese paquete, módulo, clase, o lo que corresponda:

        $ <testrunner> project.tests
        $ <testrunner> project.tests.test_stuff
        $ <testrunner> project.tests.test_stuff.StuffTestCase
        $ <testrunner> project.tests.test_stuff.StuffTestCase.test_feature

04. Debería poder pasarle una regex para que corra sólo lo que re.search() encuentra en el path completo del método:

        $ <testrunner> project/tests/ --search feature
            correría:
                test_feature
                test_feature_1
                test_feature_2
            no correría:
                test_crash

        $ <testrunner> project/tests/ --search feature$
            correría:
                test_feature
            no correría:
                test_feature_1
                test_feature_2
                test_crash

05. Debería poder decirle que pare de correr los tests al encontrar el primer error o falla.

06. Debería poder indicarle que mida los tiempos de cada test (y al final que presente un reporte con los N tests que más tardaron).

07. Debería mostrar los resultados usando los nombres de paquete/módulo/clase/método, en una jerarquía de árbol o en la misma linea:

        $ <testrunner> project/tests/test_stuff.py
        project.tests.test_stuff
          StuffTestCase
            test_feature_1                        OK
            test_feature_2                      FAIL
          OtherStuffTestCase
            test_feature_A                        OK

        $ <testrunner> project/tests/test_stuff.py
        OK    project.tests.test_stuff.StuffTestCase.test_feature_1
        FAIL  project.tests.test_stuff.StuffTestCase.test_feature_2
        OK    project.tests.test_stuff.OtherStuffTestCase.test_feature_A

    De cualquier manera, esto no afecta el órden de ejecución de las pruebas (secuencial, aleatoria, etc), sólo es cómo mostrar los resultados.

08. Los OKs deberían ser verdes; ERRORs y FAILs deberían ser rojos.

09. Los OKs/FAILs/ERRORs para cada prueba, en el listado, deberían estar alineados verticalmente.

10. No debería capturar stdout/stderr.

11. En el reporte final (luego del listado que va mostrando al ejecutar todo), debería mostrar el path completo del test que falla (o de los tests que fallan), junto con el (los) errores, de manera que si uno copia y pega ese path, sirva para correr ese único test.

Read more
facundo

Ma, cosa facciamo?


En otras palabras, ¿qué ando haciendo? Como verán, escribiendo poco en el blog, :p

En parte la culpa la tiene que en el laburo hay mucho ídem (la semana que viene es el Mobile World Congress y estuvimos terminando unas cositas de lujo que se usan desde el Ubuntu Phone). Pero no sólo laburo es el tema... estoy empujando varios proyectos en paralelo, y la familia estuvo de vacaciones.

Bah, no toda la familia, Moni empezó a trabajar a principios de Febrero, Felu está en casa todo el día (al final este año no lo mandamos a colonia), y Male tuvo de vacaciones a la chica que la cuida a la mañana. Ergo, mis mañanas, durante un par de horas, eran complicadas. Esto en el trabajo lo compensaba trabajando más tiempo a la tarde, lo cual también me quitaba tiempo libre.

Male y Felu, jugando

Pero bien. Ya casi estamos en ritmo para el resto del año, así que quería contarles un poquito algunos avances en varios proyectos, que aunque no cerré ninguno como para contarlo por separado, está bueno que se vea el progreso.

Al que le metí más pata las últimas semanas es Encuentro. Más allá de algunas correcciones menores, estuve laburando para meterle un feature interesante: un nuevo backend de datos (que no voy a comentar hasta estar seguro que funca bien). Pero para eso necesitaba una biblioteca para parsear SWFs. Lo que encontré por ahí estaba roto o incompleto, y con el código muy ofuscado como para toquetearlo (no los culpo, parsear estructuras binarias es un dolor de oido, y la de SWF en particular es recontracomplicada). En fin, el tema es que necesité hacer la biblioteca yo. Y la hice, ¡muy divertido! Pero mucho trabajo. Acá está, para que la aprovechen si necesitan: Yet Another SWF Parser.

El otro proyecto de software que estuve empujando un poco es CDPedia, en dos frentes muy relacionados. Por un lado, tener un único ejecutable al que uno llame con varios parámetros y haga "todo solo" (hoy en día la generación completa de la CDPedia implica muchos pasos manuales). Por otro lado, que la generación sea en otro idioma que el castellano. Ambos frentes se juntan en la idea de tener una máquina que vaya generando sola CDPedias de distintos idiomas. Ya llegaremos.

También estuve un par de días agregándole un feature a Magicicada (que se iconice) y corrigiéndole un bug molesto (cada vez que una transferencia terminaba había un efecto feo con el porcentaje de las otras). El único detalle que le quiero agregar para que me sirva en todo lo que lo uso es tener un botón de "publicar", que me deje elegir un archivo y lo publique (linkeándolo desde el directorio de Ubuntu One si fuese necesario).

A Linkode, lo tengo abandonadazo, pero ya lo voy a retomar. Y también le estoy tratando de meter algo de tiempo a Preciosa, la aplicación de Martín para que no nos mientan con los precios y poder comprar más barato.

Para complicarme la vida, se me pinchó un disco de la compu (un Western Digital Caviar Blue de 500GB). Empezó a hacer ruidito, y podía acceder a veces sin problemas, y a veces se turulaba. Julia me dió la idea de apagarlo por software (hdparm -Y) para que no se siga deteriorando mientras obtenía el reemplazo, así que aguantó varias semanas sin problema. Finalmente compré un Seagate de 3TB, y el otro día lo reemplacé sin mayor inconveniente, pudiendo rescatar todos los datos (con el detalle, ojo al piojo, de que hay que crearle una tabla de particiones tipo GPT, porque la común que usamos toda la vida solamente sirve hasta 2TB).

Y en el medio de todo, cerrando el contrato con el hotel donde vamos a hacer el PyCamp este año. Es en Villa Giardino, como el año pasado, ¡y ya pueden anotarse! No dejen de venir, es el evento de programación más divertido y productivo del año, :)

En fin. ¿Qué ando haciendo? Mil cosas :D

Read more
facundo

Descansando


Este enero con la familia nos tomamos unos días para pasear.

No teníamos ganas de ir mucho tiempo a un lugar puntual, así que hicimos una especie de popurrí.

El primer viajecito fue bastante cerca: nos fuimos a una chacra en Open Door por tres días. Era con las cuatro comidas incluídas, así que descansamos *y comimos* un montón...

Había una pileta que disfrutamos muchísimo, y actividades para los pequeños, que incluía darle de comer a animalitos, ordeñar una vaca, y varios etcéteras.

Viendo como se ordeñaba una vaca

El segundo viaje fue más lejos, e hicimos dos lugares en tándem. De casa fuimos para Costa Azul, a disfrutar de la playa y el mar.

Me sorprendió por un lado todo lo que Felu disfrutó el mar, y las ganas con las que Malena le entraba a la playa y el mar.

Malena y el mar

De la costa fuimos directamente para Chascomús, donde nos quedamos un par de días.

En el viaje nos agarró una tormenta como nunca había visto. En la vida había manejado con tanta agua alrededor. Pero llegamos bien, y como los días no estaban tan soleados, aprovechamos para descansar bastante.

El último día se acercaron mi vieja y Oscar y armamos un día de pesca en la laguna. Estaba fresco, pero soleado, y nos terminamos quemando un poco demasiado :/

Felipe en la laguna

En fin, descansamos mucho, y comimos más (ya nos pusimos a dieta :p). Y los chicos la pasaron bárbaro.

Read more
facundo

Decoración coreana


En Londres estuvimos (con Guillo y Lucio) sacando varias fotos "pensadas"... o sea, elegíamos algo y tratábamos de sacar la mejor foto, cambiando parámetros de la cámara, etc.

Esta foto, sin embargo, fue sacada así de primera (pero no en modo automático, sino jugando con el tiempo de exposición), en el restaurant coreano al que fuimos a cenar una noche.

Decoración coreana

Read more
facundo

Cada cosa en su lugar


Esta es una frase de Anthony Bourdain en uno de sus programas de No Reservations.

Mise en place: it's my religion, a fundamental principle, the Tao of cooking. It's the practice of setting up your personal station, having all your components ready, the amounts you need and where you want them, and all your favorite tools to grab at a moment's notice, without the burden of delay or thought.

Traducido libremente por mí, es:

Poner en lugar: es mi religión, un principio fundamental, el Tao de la cocina. Es la práctica de armar tu estación personal, teniendo todos los componentes listos, la cantidad que necesitás y donde los querés, y todas tus herramientas favoritas para usarlas al momento, sin tener que esperar y sin pensarlo.

Reconozco que aplico a diario el mismo concepto. En mi computadora, que es donde trabajo, para ser lo productivo que me gusta ser, tengo que tener un montonazo de pequeñas cosas bien ordenadas... o sea, aplicaciones instaladas y configuradas como a mí me gusta, archivos con datos donde los quiero tener, las ventanas acomodadas donde estoy acostumbrado, etc.

Por eso me cuesta tanto reinstalar el sistema operativo desde cero (lo hago cada par de años), porque me lleva un tiempo considerable el dejar "el entorno de trabajo como corresponde".

Read more
facundo


Aunque estoy viendo un montón de cositas (sólo, con Felu, o toda la familia) bajadas de Encuentro, Pakapaka, Ronda, etc (con mi programa, obvio), pude ver varias películas anotadas (el viaje de ida y vuelta a Londres ayudó bastante acá :p).

  • 2 guns: +0. Violenta, pero bien armada. Si te gustan las pelis de "pistoleros", adelante, si no no tiene sentido.
  • Carancho: +0. Cruda, muy dura. La historia está bien, mostrando un submundo que desconocía, las actuaciones impecables.
  • Cool it: +1. Muy interesante película alrededor del concepto de "hay que trabajar sobre el cambio climático pero no es lo más importante, y lo que se hace no es lo mejor". Para pensar bastante.
  • Crazy, stupid, love: +0. Otra comedia romanticona, pero mostrando también interacciones complejas a nivel familia (nada del otro mundo).
  • Elektra Luxx: +0. Varias historias mezcladas, ninguna completa, pero interesantes. No es una película clásica, pero está buena. Sencilla, pero comunicativa.
  • Finding Bliss: -0. Cuenta algunas cosas piolas, pero en general es rara, y como que le falta para que valga la pena.
  • Friends with benefits: +0. Una comedia romanticona, simple, para pasar el rato, pero bien.
  • High fidelity: +0. Una historia interesante, bien contada, personajes bárbaros.
  • Internship: -0. Por momemtos divertida, pero es una de esas películas que vimos mil veces.
  • Limitless: +0. Más allá de toda la acción que es casi de relleno (pero no sobra), una interesante película sobre qué harías si pudieras utilizar mucho más de tu cerebro... y qué precio estarías dispuesto a pagar por ello.
  • Powder: +0. Una historia pequeña pero muy bien contada, donde quizás el elemento más notable es el menos importante; varios actores muy conocidos, todos están bien.
  • The Lincoln Lawyer: +1. Mezcla de peli de abogados con thriller donde no sabés quien es bueno y quien es malo, hasta que todo se desanuda. Aparte de la historia en sí, me gustaron las actuaciones, y también la fotografía.
  • The Man from Earth: +1. Difícil contar de qué va la peli sin spoilearla, pero es muy buena para pensar, razonar y ver como otra gente reacciona con esos razonamientos.
  • The lone ranger: -0. Johnny Depp casi, casi, casi salva la película. El resto, poco y nada, más que muchos tiros y explosiones naif.
  • The resident: -1. Tres actores bárbaros para una película absolutamente predecible, que no hace más que repetir lo mismo que otras mil películas del género. Un fiasco.
  • The rite: -0. Anthony Hopkins *impecable*... pero la historia en total medio pelo, aunque amagan plantear dos o tres cosas para pensar... en la suma, bleh.
  • Your highness: -0. Con este película terminé de confirmar que no me gustan las "parodias"; incluso estando bien hechas y con actores decentes. Por otro lado, Natalie Portman está espléndida, :)


Y las anotadas nuevas (no todas son películas que acaban de salir o van a estrenarse en el futuro: hay algunas recomendaciones también).


Finalmente, el conteo de pendientes por fecha:

(24-Sep-2008)   15   6
(21-Ene-2009)   18  18  12   1   1
(09-May-2009)   13  11  10   5
(15-Oct-2009)   17  16  15  14
(01-Mar-2010)   18  18  18  18  16   4
(12-Sep-2010)   19  18  18  18  18  18   9   2   1
(14-Dic-2010)   13  13  13  13  12  12  12   5   1
(13-Abr-2011)       23  23  23  23  23  23  22  17   5
(09-Ago-2011)           12  12  11  11  11  11  11  11
(06-Ene-2012)               21  21  18  17  17  17  17
(27-Jul-2012)                   15  15  15  15  15  15
(26-Nov-2012)                       12  12  11  11  11
(09-Feb-2013)                           19  19  16  15
(19-Jun-2013)                               19  18  16
(21-Sep-2013)                                   18  18
(20-Dic-2013)                                       14
Total:         113 123 121 125 117 113 118 121 125 122

Read more
facundo

Londres Diciembre 2013


Una vez más fui por laburo a Londres. Como las otras tres veces, me quedé una semana, viajando los fines de semana, y dejando libres para pasear un poco la tarde del domingo, la mañana/tarde del sábado, y los días de semana luego de las 18.

El tema es que esta vez el viaje fue la primer semana de Diciembre. Y en Londres está terminando el otoño. Y están muy al norte. Resultado de todo esto: a las cuatro de la tarde empezaba a anochecer :/. Pero eso no evitó que paseemos algo (¡mercados!) y que recorramos lugares de comidas y bebidas.

A punto de comer coreano

Gastronómicamente, este viaje se lució. Todos los días nos tomamos una cerveza en algún pub inglés. A veces menos, a veces más, y conociendo distintos bares. Y a nivel comidas, muy bien también. Cenamos indio el domingo, tailandés el lunes y coreano el martes (el miércoles no llegué a cenar porque estuve de compras, el jueves fue la fiesta de fin de año de la empresa, con comidas variadas para picar parados, y el viernes comí comida inglesa... dos puntos sobre cinco, como siempre).

Los almuerzos también se destacaron. Bah, desde el jueves, que conocimos el Borough Market, un lugar bárbaro para comprar un montón de ingredientes, pero donde también tenés comidas listas para comer. El jueves comí sánguche de pato, el miércoles hamburguesa de cordero con menta, y el sábado chancho deshilachado a la barbacoa.

Sánguche de pato

El sábado con Guillo nos fuimos a otro mercado, el de Bricklane Street. Este es más de ropas, antigüedades, cosas artesanales y vintage, todo muy hipster, todo muy loco. No es mi target, pero igual compré un par de regalitos y algo para la casa

Todas las fotos, acá.

Read more
facundo

Ya tenemos Encuentro 1.1


Como estoy seguro que ya sabrán de memoria, ;), Encuentro es un simple programa que permite buscar, descargar y ver contenido del Canal Encuentro, Paka Paka, BACUA, Educ.ar y otros.

Acabo de liberar la versión 1.1, que principalmente vuelve a permitir que el programa se autentique luego de unos cambios en el backend de Conectate, pero también tiene muchos bugs solucionados a nivel de manejar errores en las descargas, y también mejoras en la interfaz.

¡Es fácil probarlo! Tenemos instaladores para Debian/Ubuntu, para Windows, en Arch sólo hacen yaourt -S encuentro, e incluso, desde cualquier lado, pueden instalarlo desde PyPI (sudo easy_install encuentro) o directamente usando el tarball.

Todos los detalles, como siempre, en la página oficial. ¡Que lo disfruten!

Read more
facundo


Hola!!

Charlando en el viaje a/desde la PyCon de Rosario, surgió la idea de armar un Circo Errante (flying circus, la referencia es obvia) con el objetivo de acercar PyAr a las Universidades de una forma distinta a las actuales.

Hoy por hoy, el principal contacto de PyAr con las Universidades es de gente que arma PyDays en ese ámbito. Esto, normalmente, sucede en las Universidades con carreras afines a la programación. Y el contenido y dinámica de estos PyDays están pensados en función de ese público.

La idea es cambiar eso. Y llegar desde PyAr a Universidades con las cuales normalmente no tenemos mucho contacto. Ejemplo de esto son las carreras de derecho, sociología, matemática, psicología, astronomía, ingenierías no informáticas, etc. Estas son carreras en las que los profesionales podrían hacer un buen uso de Python como herramienta, donde no les interesa tanto  el razonamiento "quiero hacer un programa que haga algo", sino más bien "necesito hacer algo y un programa podría ser una herramienta, aparte del excel y la calculadora que es lo que estoy usando ahora".

Más en detalle, lo que se nos ocurrió es armar una especie de presentación basada en ejemplos de distintas especialidades. O sea, cómo usar Python para solucionar tal problema en astronomía, cómo usarlo para encontrar tal resultado en sociología, o cómo aprovecharlo para mejorar un análisis en ingeniería en alimentos. Una presentación semigenérica, de 30-40 minutos, que sea como la punta de lanza: si les gusta la idea luego se puede mostrar Python más formalmente; en el peor de los casos se quedarán sólo con conocer la herramienta y tener idea de qué se trata, que no está tan mal.  Obviamente, la idea es armar una presentación que todos podamos usar, no que cada uno arme la suya.

Para organizar esto, armé una página en el wiki con (por ahora) tres secciones: una de ejemplos, para ir juntando ejemplos piolas en los cuales basar la presentación, una de ideas para folletería/merchandising (ver más abajo) y otra de gente interesada en dar estas charlas y la "zona de cobertura".

Luego, habría que ir buscando contactos en las Universidades, para poder charlar con alguien que nos dé un aula con un proyector y que organice internamente para que vaya gente a la presentación.

Con respecto a la folletería/merchandising, tenemos que pensar en algo para llevar a estas reuniones: algo que les muestre el uso de la herramienta más allá del lenguaje (ejemplo: no mostrar como se escribe un for, sino lo fácil que es hacer una normalización de un conjunto de datos). Algo que se lleven los asistentes con ellos, para poder verlo más tarde, y tener el contacto con PyAr para poder venir por más info.

¿Qué les parece?

Read more
facundo


Aparecieron muy cerca en el tiempo dos necesidades muy parecidas: hacer certificados de asistencia para PyCon Argentina 2013, y hacer los certificados para mi curso de Python.

Así nació certg, un generador de certificados, que a la vez es simple, versátil, y útil. El proceso para usarlo es simple:

  1. Armás un .SVG (con Inkscape, por ejemplo), poniendole todo el arte que quieras para que el certificado quede lindo. Pero no lo hacés específico a nadie, sino que dejás escrito variables que se van a reemplazar, como {{nombre}} o {{direccion}} o lo que te guste
  2. Armás un archivo de configuración, donde ponés el nombre del .SVG que creaste, qué variable de las que elegiste es única (se usa luego), y luego una lista de grupos de variables, donde a partir de cada grupo se va a generar un certificado.
  3. Ejecutás el programita en Python, pasándole la configuración que armaste. El programita va a leer el .SVG, y por cada grupo en la config, reemplazar esos valores, y generar un certificado (en PDF) usando el nombre unívoco que indicaste.

La verdad, quedó piola: no es dificil de usar, y es lo suficientemente flexible para las distintas necesidades que tuve. Este es como quedó mi certificado de la PyCon:

Fuí a la PyCon!
El proyecto, con ejemplos y todo, acá.

Read more
facundo

PyCon Argentina 2013


Salimos el miércoles tarde (porque yo tenía el curso de Python en el centro), en auto, Julia, Marcos y yo. Llegamos a Rosario, al hostel, a la una y cuarto de la mañana, derechito a dormir. Esperábamos no molestar a Mariano y Claudio, con los que compartíamos habitación, y efectivamente fue así porque ellos todavía no se habían acostado :p.

Al otro día nos levantamos bien tempranito, porque yo tenía que llevar los tutoriales y posavasos para que se repartieran cuando la gente se registraba al evento. Llegamos con tiempo, tanto que luego de entregar los materiales, saludar y etc, nos quedamos tomando mate y desayunando a la vera del rio, durante como media hora...

Y finalmente arrancó la conferencia.  El primer bloque de charlas me gustó entero, y mucho, lo cual hace rato que no me pasaba en una PyCon. Fuí primero a "Recorriendo Nodos con Python" (de Martín Alderete y alguien más que el sitio de PyCon no me deja ver quién es :( ), después a "Aprendizaje automático con scikit-learn" (de Rafa Carrascosa), y finalmente a "Monitoreo de procesos industriales utilizando Python" (de Joac).

Después salimos a almorzar, lo cual es siempre una aventura en este tipo de eventos (imagínense centenares de personas atacando de repente los locales cercanos). Pero teníamos una hora y media, así que no hubo mayor inconveniente que la quemazón generalizada de caras y brazos porque el sol estaba fuerte y nadie se avivó :/.

A la tarde ví una charla que no me gustó tanto, y luego dí Bindings, default mutable arguments, y otros qu... detalles. Luego de eso, algo de pasillo, las lightning talks (bien en general), y luego la plenaria.

La charla plenaria la dió Robert Lefkowitz, sobre "Literacy, Programming, and Open Source", una de las mejores plenarias que vi en la vida. Estuvo genial, sinceramente, tengo ganas de que suban el video a algún lado y agregarle subtítulos en castellano, para que la pueda disfrutar más gente.

Robert, al final de la charla, hizo una invitación general a ir a tomar algo. Pero Emiliano tenía pre-armado unos pescados a la parrilla, así que subimos la apuesta y armamos (previa recolección de dinero) un asado para treinta y pico en un club cercano. Fue una corrida ir a la carnicería, al supermercado por bebidas, pan y etcéteras, y por la casa de Emi para buscar algunos elementos generales, mientras Juan Pablo y Marcos arrancaban con el fuego en el club. Al final se asaron un dorado y un sábalo enormes ambos, más dos bondiolas de cerdo y un pedazote de bife de chorizo. Todo regado con fernet, cerveza, vino, y mucha, mucha charla copada.

La foto grupal

El viernes nos levantamos tarde, tanto que desayunamos en el hostel, y llegamos a la conferencia un rato antes que diera mi segunda charla, Las perlas de Python 3 (¡un estreno!). Luego estuve en un par de charlas, pero la que más me gustó fue la de Alecu, "Juegos electromecánicos con Arduino", tengo muchas ganas de arrancar con algún proyecto de electrónica o electromecánica!

Al final del día vinieron más lightning talks, y la plenaria de Claudo Freire sobre Paralelismo. Luego sorteos, palabras, saludos, y todos los etcéteras del cierre de la conferencia.

Esa noche era la cena "de invitados", donde volvimos a repetir asado (pero esta vez en un restaurant muy bonito), y luego varios nos fuimos a reventar la noche (not really) a una fiesta del CEC.

En fin, pasó otra PyCon Argentina, la cual me gustó mucho mucho. Felicitaciones a todos los que trabajaron para que salga tan lindo todo!  Yo no llevé cámara, pero hay muchas fotos acá, acá, y acá.

Read more
facundo


Porque PyAr no descansa, acabamos de tener la PyCon y ya salimos con el armado del PyCamp del año que viene. Este es un llamado a co-organizadores, locales (o cercanos) a sitios posibles de hacerse el evento.

La idea es hacer el PyCamp del 1 al 4 de Marzo, del 21 al 24 de Marzo, o del 22 al 25 de Marzo.

Yo lo voy a estar coordinando en general, pero la idea es que encontremos el mejor venue posible, buscando de a varios. Es lo mismo que hicimos el año pasado.

¿Cómo es la dinámica? si alguien sabe de un lugar en el que se podría hacer el PyCamp, que vaya o llame y averigüe. Hay que recabar varios datos:

  • Formas de llegar
  • Qué onda el lugar
  • Qué onda las habitaciones
  • Qué onda la comida
  • Tres puntos a favor
  • Tres puntos en contra
  • Disponibilidad
  • Precio

Algo piola para revisar es la página que les acabo de pasar sobre posibles sedes, para tener una idea del tipo de data que hay que juntar. Luego me contactan (por privado) y vamos definiendo todo para dejar el lugar listo para la votación.

¡Gracias! :)

Read more
facundo


Es muy conocido el juego "piedra, papel y tijera", un juego que disfrutamos desde chicos porque no se necesita más que las manos para jugar, las reglas son sencillas, y es dentro de todo divertido.

Hay una variación que incluye dos elementos nuevos ("Spock" y "lagarto") a los tres tan conocidos ("piedra", "papel", etc.), haciendo que las oportunidades de empate sean bastante menores. Esta versión no fue inventada por la serie The Big Bang Theory, sino por otra gente.

En el juego original, cada elemento era vencido por un otro, y vencía a un tercero. En esta variación, cada elemento es vencido por dos otros, y vence a otros dos. La forma más fácil de recordarlo es mencionar los elementos como en el título de este post, donde cada elemento vence a los dos anteriores y es vencido por los dos siguientes.

Es más fácil verlo en el siguiente gráfico, con las razones "oficiales" y todo:

Razones del PSPLT

También es piola verlo con los símbolos de las manos:

PSPLT con las manos

Listo, ya no tienen excusas para horas interminables de fascinante diversión.

Read more
facundo

Cumpliendo


Cuatro años

El finde pasado festejamos los cuatro años de Felipe, en el Taller de la Ribera.

Castillos

La temática del cumpleaños fue de "caballeros", que es algo con lo que Felu estuvo enganchado mucho este año. Como muestra, vale un botón... ¡tiembla Aragorn!

Caballero

Salió todo muy lindo, los chicos se divirtieron, hicieron arte, jugaron, comieron. Los grandes similar, excepto la parte de arte que era exclusiva para los pequeños, y quizás charlaron más :p.

Risueño

Vino mucha gente, en el orden de las sesenta personas (incluyendo niños y adultos). Y faltaron como veinte, la mayoría con previo aviso. Y si contamos los que fueron a casa el jueves, porque el sábado no podían, la suma nos da un número redondo: un montón.

Y hacer que todo funcione correctamente, todos coman, beban y se sientan cómodos, para un montón de gente, es mucho trabajo. Al punto que aunque disfruté mucho, estuve corriendo de un lado para el otro y casi no pude charlar con nadie.

Ambiente

Veremos si el año que viene cambiamos la dinámica, porque esto ya no escala.

Algo a estudiar sería un salón/pelotero/algo más tradicional para aquellos que tienen niños (incluyendo los compañeritos del jardín de Felu), y un asado en casa para el resto de la familia y amigos.

El resto de las fotos, acá.


Seis meses

Por otro lado, ayer se cumplieron los seis meses de Malena. ¡Medio año ya! Como pasa el tiempo, etc, etc, nos vamos poniendo viejos, etc, etc.

Les dejo una foto de Male que la muestra saboreando un hueso de asado, con inidicios de una feroz omnivoracidad como el hermano...

Con el hueso

..., y dos videos: uno cortito de ella charlando (está que charla, charla, charla, charla...), y otro un poco más largo (de casi dos minutos) mostrando como se mueve ya.

En fin. <baba> Mis dos pimpollos están hermosos :) </baba>

Read more
facundo

Fábrica de mundos


Mundos, luego de fabricados, esperando el momento del deployment.

Mundos

Más fotos similares y todas las de un paseo por Artigas (Uruguay) el año pasado.

Read more
facundo

Películas, edición primaveral


Bastante películas vistas, pero aún más anotadas para ver! Estoy perdiendo el ritmo con verlas, en parte se debe a que fueron los primeros meses de Malena, en parte porque avancé con algunas series.

Oh, día, ¿por qué no tienes 30 horas? :p

Por otro lado, mirando las fechas, me doy cuenta que la última revisión de películas fue a mediados de Junio... entonces, otro punto de vista sería que ví una buena cantidad de pelis (14, en tres meses), pero que salieron notablemente muchas justo en este período.

  • Barney's version: +1. Maravillosa historia sobre la vida de un tipo (Barney, obvio), su relación con sus amores, sus hijos, sus amigos. Las actuaciones, bárbaras, y la forma de contar la historia, también.
  • Cowboys & aliens: +0. No es demasiado, pero ya la mezcla de viejo oeste y que tengan que lidiar con extraterrestres, está bueno. Está buena, pero no es un peliculón.
  • Despicable me 2: +0. Un poco más de lo mismo, y los minions tienen demasiada relevancia en la peli, pero igual es muy divertida.
  • I am number four: -0. Algunos conceptos copados, y en sí la historia no está mal, pero es demasiado "héroe adolescente con problemática yanqui".
  • Man of steel: +0. Para ser una "peli de superman", está muy bien. Pero tiene demasiada acción, demasiada peleas, demasiado. Y es interesante en puntos de la historia.
  • Pacific rim: +0. Si querés ver monstruos gigantes alienígenas peleando con robots de cincuenta metros de altura, esta película es para vos. Si no, ni te acerques.
  • Pirates of the caribbean: On stranger tides: -0. Está Depp. Y está Penélope Cruz. Pero la peli nunca termina de aparecer. Es más de lo mismo, y sólo eso.
  • Source code: +1. La historia es interesante, pero lo que más me gusta es cómo está expuesto el tema de las realidades paralelas, y cómo se pueden aprovechar.
  • Star trek into darkness: +1. Impecable, tanto a nivel de película como de historia de Star Trek. Imperdible.
  • Stone: -0. Me sorprendió que me gustara tan poco, especialmente teniendo en cuenta que hay buenas actuaciones, juegos mentales, intriga... No sé, quizás como estaba la historia contada...
  • Sucker punch: -0. Una película mezclada, traida de los pelos. En algún punto está buena, pero no vale la pena todo el odio que muestra, no la llega a levantar; mucha violencia al pedo, gráfica y conceptual.
  • The kids are all right: -0. Interesante planteo, las actuaciones muy bien, pero la historia se queda muy corta.
  • The way back: +0. Un poco lenta en varios puntos, pero una historia muy buena, y con actuaciones copadas.
  • Thor: -0. Natalie Portman y Anthony Hopkins impecables como siempre, pero el resto de la película no lo vale.


Estas son las nuevas:


Finalmente, el conteo de pendientes por fecha:

(24-Sep-2008)   15   6
(21-Ene-2009)   18  18  12   1   1
(09-May-2009)   13  11  10   5
(15-Oct-2009)   17  16  15  14
(01-Mar-2010)   18  18  18  18  16   4
(12-Sep-2010)   19  18  18  18  18  18   9   2   1
(14-Dic-2010)   13  13  13  13  12  12  12   5   1
(13-Abr-2011)       23  23  23  23  23  23  22  17
(09-Ago-2011)           12  12  11  11  11  11  11
(06-Ene-2012)               21  21  18  17  17  17
(27-Jul-2012)                   15  15  15  15  15
(26-Nov-2012)                       12  12  11  11
(09-Feb-2013)                           19  19  16
(19-Jun-2013)                               19  18
(21-Sep-2013)                                   18
Total:         113 123 121 125 117 113 118 121 125

Read more
facundo

La valija de electrónica


Allá a lo lejos, hace más de 20 años (wow!), arrancaba mi carrera universitaria. Estudié Ingeniería en Electrónica, en la Universidad Nacional de La Matanza.

Las cursadas siempre fueron en horarios parejitos y en el mismo aula (muy al estilo "secundario", lo que era genial porque uno mantenía siempre el mismo grupo de compañeros). En particular, en primer año cursábamos de lunes a viernes desde las ocho de la mañana hasta pasadas las doce. Y el sábado, creo que algo como desde las 8:45 hasta las 13.

En primer año, también, había una actividad opcional, que era "taller". Obviamente, el sábado a la tarde. Y como buen ñoño joven y estudiante, yo iba.

Estaba bueno, por lo que recuerdo. Era más que nada práctica: cómo soldar, etc. Hacer cosas. Y una de las cosas que hicimos, como proyecto en el segundo semestre, fue "la valija de electrónica".

La valija

El diseño era del profesor y/o el ayudante, y lo que hicimos fue comprar (entre todos, para que salga más barato) todo los componentes. No sólo los electrónicos, sino también el transformador, y la valija en sí, y además mandamos a hacer las placas, los acrílicos de arriba, etc.

Compramos todo. Pero la armamos nosotros, que era parte del chiste, :)

La valija tiene varias placas comunicadas entre sí a nivel positivo/tierra, cada una con distintas funcionalidades, dispuestas alrededor de tres protoboards. Acá hay fotos individuales de las placas, que son (girando en el sentido de las agujas de un reloj que uno mira de frente):

  • Conectores contra la PC: tanto paralelo como serie. No hay mucha magia en esta placa, es básicamente la conexión de un DB25 y un DB9 a unas borneras, de manera de poder conectarse a la PC y fácilmente usar los distintos pines de los puertos.
  • Parte de energía: todo lo relacionado a la generación de potencia. Esta es la placa que rectifica unos veintipico de volts que deja el trafo, y además de entregar +5v y -5v fijos, tiene dos fuentes variables (una positiva y una negativa) que son muy útiles. Obviamente, también tiene la llave principal de encendido, más un led testigo. Por conveniencia, acá también están los bornes para conectarse a un parlantito que tiene integrada la valija.
  • Multifunción de arriba a la derecha: tiene tres partes bien separadas. La primera es una sonda lógica, que indica si en la pata de señal (contra tierra) hay una señal baja o alta (tanto TTL como CMOS), y un detector de pulso (el led se queda más tiempo encendido que lo que fue el pulso, digamos). Luego, tres potes, que siempre son prácticos tener a mano. Y contra la derecha, un generador de funciones (seno, triangular, cuadrada) de frecuencia y amplitud variable.
  • Multifunción de la derecha: también dividida en tres partes: arriba hay un generador de pulsos con disparo manual (con tiempo en high variable), más un generador de señal rectangular con tiempo en low y high variables. Luego, muchos leds conectados a borneras, y llavecitas también conectadas a borneras (nada del otro mundo, pero es muy práctico).

Como ven, no es nada mágico, sólo una colección de herramientas que hacen que ponerse a hacer cosas en electrónica sea más fácil que si uno no las tiene a mano.

Lo único que falta, que sería un complemento ideal, es un osciloscopio, pero eso es caro y ocupa mucho espacio :p.

En fin. Ya me traje la valija y la caja con cosas de electrónica de la casa de mi viejo. Ahora sólo falta ponerme con un proyecto :D

Read more
facundo

No más cine en el cine


Creo que la primer película que vi en 3D fue Beowulf, o quizás la segunda. Pensándolo bien, puedo haber visto alguna cuando era muy chico, pero no recuerdo si fue el caso.

Beowulf

No ví muchas más, la verdad. En algunos casos, como la primera de Transformers, incluso fuí a verla en 3D porque fuí al IMAX, donde la pantalla es más grande, y varias secuencias estaban filmadas en "tamaño extra", aprovechando ese detalle.

El quiebre vino con Avatar. Más allá de si la peli es buena o no, creo que es innegable que tiene una "fotografía" extraordinaria. Y es donde por primera vez me pasó que en momentos de la película me interesaba más mirar detalles de fondo o de adelante en la escenografía, y no se puede!!

Avatar

Es que parte del efecto de 3D te lo dan sacando de foco las cosas que no están en el/los plano/s principal/es. Y es una mierda, porque si yo tengo ganas de ver una esquina de la pantalla, no poder hacerlo es un bajón. Especialmente teniendo en cuenta que alguien se tomó todo el trabajo de poner esa imagen ahí (porque en la versión 2D se ve perfecto).

Entonces, especialmente a partir de esa peli, tomé la decisión de no ir más a ver películas en 3D.

Hasta acá, todo bien.

El mes pasado, sin embargo, con Javi y Mariano fuimos a ver Pacific Rim. Y por primera vez nos pasó algo feo: en la oferta argentina de cines había sólo dos opciones: en 3D subtitulada, o en 2D doblada.

Pacific Rim

Ni en pedo voy a ver una película no-de-niños doblada, así que terminamos eligiendo la versión 3D (y protestando por ella). No me calentó demasiado, porque tampoco era la película del año, y además quería darle una última oportunidad al 3D, confirmando luego que prefiero las pelis en dos dimensiones.

El otro día, con Mariano fuimos a ver Star Trek. A esta película sí le tenía muchas ganas, y quería sí o sí verla en 2D. Cuando empezamos a ver los horarios y eso, encontramos que en todos lados teníamos la misma dicotomía de mierda, excepto en el Norcenter, donde estaba en 2D subtitulada.

¡Genial! Compré las entradas por internet, fuimos ese día, y con decepción nos encontramos que la información era incorrecta, sólo había 2D doblada y 3D subtítulada. Terminamos viéndola en 3D, obviamente, pero confirmé que es un bajón.

La película está genial, y no da por perderse partes por un efecto de mierda.

Start Trek

Me enojé tanto que tomé una decisión: o me ponen la película en 2D, o no voy ni mierda al cine. Nunca más. Bueno, o hasta que el 3D sea 3D de verdad (a lo que seguro los de márquetin llamaran "Full 3D").

Después, cuando los cines cierren y sean todos templos evangelistas, no protesten. Jódanse.

Tema relacionado: me interesaría mucho conocer el detalle de lo que es distribución y comercialización de películas a los cines. Si hay alguien que sepa del tema, la/o invito a unas cervezas :)

Read more
facundo

Curso de Python confirmado


Estoy muy contento porque el primer Curso Abierto de Python que armé ya está 100% confirmado, :).

El curso es de 18 horas en total, de 19 a 22, los días Miércoles 25 de Septiembre, 2 y 9 de Octubre, saltamos un miércoles, 23 y 30 de Octubre y 6 de Noviembre.

Quedan sólo un par de plazas disponibles, si quieren anotarse tienen todos los datos en la paginita que armé. Una novedad es que ahora también se puede pagar por DineroMail: no me conviene demasiado, pero permite pagar con tarjeta de crédito, RapiPago, PagoFácil, etc., así que supongo que podría ser cómodo para alguien en algunos casos...

Read more