De otra galaxia

Si el sábado a la noche antes de rendir tu última materia en vez de estar estudiando estás emborranchandote por ahí, sos un inconciente y/o la tenés muy clara. Si en cambio no estás estudiando ni emborrachando, pero te ponés a pensar ejercicios para el curso de python que estás dando, sos un nerd. Mereces un brindis de chocolatada a tu salud de todos los de este foro.

Si encima blogueas al respecto, sos un nerd intergaláctico. Te explico por qué.

Resulta que tenés este archivo de datos. Cada número representa la intensidad de luz de un punto y te informan que la imágen es cuadrada. Se supone que son datos que te dió un profesor una vez, para que resuelvas este mismo problema en ¡ensamblador!

Hacerlo en Python, con Numpy y Matplotlib, significa estas líneas

import numpy as np
import matplotlib.pyplot as plt

data = np.fromfile ('data.txt', sep=' ')
SIZE = int(len(data) ** .5)
data.shape = SIZE, SIZE
plt.imshow (data)
plt.show ()

Y se obtiene este resultado:

Se puede limitar los valores de luz a un valor entre 0 y 255 (truncando valores de saturación extrema), haciendo :

plt.imshow (data.clip(0,255) )

Obtenemos este resultado:

Voto electrónico e ingenieros analógicos

Con mucho esfuerzo propio y ajeno, estoy terminando la carrera Ingeniería en Computación en la Universidad Nacional de Córdoba.

Una particularidad de mi carrera, entre varias, es que hay mucha discusión y participación estudiantil. Una herramienta estratégica para esto ha sido un grupo de correo en el que participan estudiantes, profesores y graduados.

Allí he mantenido algunas discusiones con compañeros y/o profesores sobre temas diferentes. Los más interesantes, para mí, son los que evidencian concepciones filosóficos, ideológicas y políticas de cada uno.

La última, que empezó el lunes, comenzó con una discusión sobre le voto electrónico (a raiz de la charla relámpago de Federico Heinz en la PyConAr ) que fue derivando a una más de fondo, sobre la concepción de ingeniero que yo quiero ser y la que los profesores con los que discuto en el hilo (y casi todos los otros) me enseñan.

Como ya casi tiene telarañas, y además porque allí están todas las discusiones previas (las que me parecieron interesantes, bah), lo publiqué en mi otro blog.

GPEC 2010: El poster

Otra cosa que hice en PyConAr fue presentar un poster sobre GPEC 2010, mi proyecto integrador para recibirme de ingeniero en computación, originalmente pensado para presentar en Riteq la semana que viene. El poster fue presentado en coautoría con Martín Cismondi y Gustavo Wolfmann, los directores del trabajo.

image0 Como no tuve tiempo, la de PyCon es una versión que (espero) será mejorada para la semana que viene, con algunas figuras más.

|image2|

Poster GPEC 2010 Formato A4 (reducido)

También un resumen extendido (2 páginas) aprobado por los revisores de RITEQ, que explica algún detalle más.

|image4|

Resumen aprobado Riteq 2010

Los fuentes están disponibles en en el repo:

svn checkout https://gpec2010.googlecode.com/svn/trunk/docs/poster

Ipython, la interactividad al poder

A lo largo de esta vida he amado, he llorado y reído, me han salido canas y dí algunas charlas y talleres.

Me gusta la docencia, probable herencia de una grosa. Me gusta compartir lo que sé, instarme a aprender para compartir con otros y aprender cuando enseño. Educación horizontal, educación popular.

|image1|

El viernes pasado, en la PyConAr debía dar una de las primeras charlas, `IPython, la interactividad al poder <http://ar.pycon.org/2010/conference/schedule/event/91/>`_ . Entró al cronograma en una segunda tanda de selección, con más sorpresa que el chino Garcé a Sudáfrica 2010. El problema es que para cuando me invitaron yo ya había descartado mi participación en PyCon y aceptado dar una en mi facu, también sobre Python pero otra. Ergo, ¡tenía que preparar 2 charlas!

En el medio, solucionar horribles bugs de GPEC para la release de la semana que viene, un casamiento a 1500 km de mi casa (por suerte no mío), aprender a diseñar hardware, malabarear estres con las remeras de PyAr y terminar el poster que se me ocurrió presentar.

El contexto no favoreció a preparar la charla con anticipación. De hecho, pude hacerme lugar el jueves de 0:05 a 4 am para leer el manual y escribir lo poco que escribí. Mucha audacia teniendo en cuenta que algunas de las cosas que quería (de alguna manera debía) mostrar, no las uso/aba realmente (eso de instarme a aprender es posta) y más aun, considerando que las presentaciones con "demo" incluída son una fiesta orgiástica para Murphy

Por eso, para descompimir la ansiedad y la casi certeza de que algo podía salir mal, lo primero que hice fue echarle la culpa a John Lenton, que fue el que incitó a la vergüenza. La charla comienza con este disclaimer:

Disclaimer
-----------------

Todo lo que sigue es culpa de John Lenton:


    2010/7/28 John Rowland Lenton :
    > Hola!
    >
    > Estamos organizando PyConAr. Viste? La conferencia de Python en
    > Argentina (...) te vas a dar cuenta cuando
    > estés acá en Córdoba que podrías haber presentado tu charla, y te vas
    > a sentir muy zonzo.

Para colmo de riesgos, descubrí algo que supongo que es un bug (TODO: check and report this) con la utilidad Demo de IPython que usé, en la versión estable (0.10) y la que está en desarrollo (0.11). Por eso tuve que hacer un downgrade a la 0.9, que no tiene algunas cosas interesantes que quería mostrar (%paste, por ejemplo).

Por supuesto, Murphy vino y se divirtió, pero no se burló sarcasticamente. Hasta que alguien me muestre un video y me ponga rojo de vergüenza voy a quedarme con la idea de que no estuvo tan mal. Alguno seguro no descrubrió nada nuevo, pero otros parecieron satisfechos y probablemente jueguen un ratito con IPython.

Archivos / Descarga

Como es una presentación interactiva, no hay "diapositivas". O sí, pero es un módulo python.

Todo lo que usé (con nimios retoques respecto a lo mostrado el viernes) se puede bajar (o forkear) de GitHub .

git clone git@github.com:nqnwebs/IPython-interactive-talk.git

O desde este Zip

PyConAr 2010, el orgullo de pertenecer

Ya está, ya pasó. Y estoy muy feliz de eso que pasó.

Conocí Python oliendo la pasión con la que hablaban de este lenguaje gente a la que admiro mucho y empujado demandas del trabajo, la academia y el hartazgo, de poner un pie fuera de la web, cosa que PHP permite de mentirita.

Me acerqué al lenguaje facilmente (simple is better than complex) pero no tan fácil a la comunidad. De hecho, acabo de fijarme en gmail y encontré el mail de un bonito bot y mi feo hola mundo a la lista de Python Argentina fechados el 17 de enero de 2007. Es bastante tiempo para saber tan poco de Python y para que Python sepa tan poco de mí.

Lamentablemente nunca pude ir a los PyCamp, que parecen ser el ámbito ideal para encontrar y fortalecer esa cuestión humana que a mi me faltaba para pertenecer y disfrutar, no sólo del lenguaje sino de su comunidad. Así que el año pasado, despues de la PyCon 2009 en Buenos Aires, me propuse tomar alguna responsabilidad si se hacía de nuevo.

Cumplí a medias: me anoté como revisor y ni siquiera revisé la mía. Pero (haciendo volar libres dos pajaros de un sueño, hospedé a Manu, presenté un poster más grandote que grandioso y di una charla que salió no demasiado mal.

La alegría, más allá de las poquitas charlas que logré ver, viene por el lado social. Conocí, conversé, me reí y casi que me emborraché con gente muy linda, mucha de la cual no sólo es técnicamente brillante sino humanamente querible.

Como apasionado de la tecnología sé que no es neutral. La tecnología, en esta época, es parte de la ideología.

Elegir una tecnología, un lenguaje de programación, y meterle tiempo, ingenio y muchas veces plata a su difusión y mejora, para que muchos se beneficien (y se tienten a meterle tiempo, ingenio ...) es un gesto de solidaridad que hay que aplaudir de pie.

En un sistema cuyo leitmotiv es "vos o yo" hay gente que dice "vos y yo", y mejor aún, dice "nosotros".