Python tickets

Python — Lunes 10 de Septiembre de 2007, 12:16

En Python decidimos hace tiempo irnos de SourceForge. El primer paso fue migrar el repositorio de código, desde ahí a nuestro server. Y hace algunos días, terminamos migrando el tracker.

O sea, sacamos toda la administración de bugs y parches y los pusimos en nuestro server, manejándolos con Roundup (adivinen con qué está hecha este administrador, ;).

Yo tenía una herramienta que iba a SourceForge y hacía un resumen de los tickets (había hablado de eso acá). Obviamente la tuve que cambiar, y acabo de terminar de hacerlo.

Como ahora los bugs y parches están en la misma lista (son, genéricamente, tickets), quedó genericamente un sólo resumen. Obviamente, dejé este link en la barra derecha...

Python 3000

Python — Viernes 31 de Agosto de 2007, 09:06

Acaba de salir, calentito calentito recién salido del horno, el primer alfa de Python 3.0.

Lo pueden buscar aquí.

Pensar que hace un par de años se hablaba de esto como algo en el futuro, no del todo probable. Ahora está ahí, al alcance de la mano.

Yo ya lo instalé, :D

Subiendo fotos raras para gente normal

Python — Viernes 06 de Julio de 2007, 11:41

Hace algunas semanas tomé la decisión de subir todas mis fotos a la red (ya hay bastantes, pero creo que recién voy por la mitad...). Compré el servicio de Flickr, porque por poca guita anual te da espacio ilimitado.

Obviamente, no todas las fotos son públicas, así que si les interesa acceder a la parte de amigos y/o familia, me ponen un mail y listo.

La idea está buena, porque no tengo que andar distribuyendo fotos luego de un evento (ya sea público como una conferencia, o familiar como un cumpleaños), tengo backup, puedo acceder en cualquier momento a una foto mía, etc.

Pero había dos trabas operativas que evitó que lo haya hecho antes. Una es que hay que "limpiar" las fotos. Normalmente, luego de sacar fotos, las subo a la PC de casa y listo. Pero hay muchas fotos que no sirven (demasiado oscuras, movidas, etc.), y también sucede que en ocasiones hay que rotarlas. Ambos trabajos son inevitablemente humanos (por ahora), así que lo voy haciendo de a poco.

La otra traba es la acción de subirlas. Hay dos maneras clásicas. Una es ir al sitio de Flickr, entrar a tu cuenta, e ir subiendo fotos de a 5; comprenderán rapidamente que no es la mejor manera de subir miles y miles de fotos (a menos que les guste los trabajos manuales y repetitivos sin sentido, no vengan a mi por ello). La segunda manera clásica es utilizar algún programita, que corre en la máquina local, con interfaz gráfica y todo, que te permita ordenar las fotos, administrarlas, y de paso subirlas a Flickr. En Linux ya viene, por supuesto, pero esta manera tampoco me gustó: no quiero tener que pasar a ordenarlas por otro método (mis fotos están basicamente en un directorio por evento, con el nombre del mismo y la fecha, y no quiero, por ahora, mayor info que esa).

Entonces, como ya estarán imaginando, me hice un programita en Python (je!) al que uno le pasa las fotos y algo de metadata: los tags para marcar todas esas fotos, la clasificación de privacidad (ver más abajo), la descripción de todas esas fotos, el nombre del set (o conjunto en Flickr bajo el cual se agruparán esas fotos), y una foto inicial para el set (Flickr tiene una foto "especial" que marca como del tag, y la muestra siempre represantando al mismo).

Con respecto a la privacidad, se pueden marcar las fotos como...
  • familia: sólo para familia
  • amigos: sólo para familia y amigos
  • pública: las ve cualquiera
El tipo de contacto, familia o amigos, es lo que les decía arriba que me pidan por mail.

Para poder conectarme fácil a Flickr y utilizar todos sus servicios, utilicé la Beej's Python Flickr API, que tuve que modificar levemente para que me dejara poner tags y descripciones utilizando caracteres acentuados. Aquí les dejo un zip con los dos archivos, el módulo con la API levemente modificada y mi programita.

Para probarlo, bajen el archivo y lo descomprimen obteniendo dos archivos en el mismo directorio, y ejecuten subeFlickr.py sin parámetros, que les sale un mensaje de ayuda (obviamente tienen que tener Python instalado, si están en Linux o en MacOS X ya está, y si están Windows, bájenlo gratis de acá). Tengan en cuenta de que en subeFlickr.py hay unas anotaciones que tienen que seguir (busquen las XXX), por autenticaciones que obliga Flickr y eso).

Cualquier feedback es muy bienvienido, :)

[*] El título no es más que una vaga referencia al tema de Divididos, sólo eso.

Día Python, Santa Fe 2007

Python — Miércoles 13 de Junio de 2007, 10:12

Viaje de ida

El viernes me rajé temprano de la oficina, me econtré con Leito en el estacionamiento, y fuimos a buscar a Moni al jardín. Tuve que pasar por casa porque me había olvidado los regalos, pero terminamos agarrando la Panamericana antes del quilombo (estuvo lenta en una parte por un choque, pero luego muy bien).

En la ruta nos encontramos con Dave, Alecu y Matías, en una estación de servicio, y fuimos casi juntos hasta Sta Fe. Llegamos relativamente temprano, lo pasamos a buscar a Nico, y fuimos para el hotel donde estaba el resto de la gente. Y todos en masa a comer: mucha charla, mucha cerveza, y una milanesas buenísimas. Luego al sobre, que el sábado era largo.


El sábado

Nos levantamos temprano, no tanto como hubiéramos debido, y luego de desayunar en el hotel nos fuimos a la UTN. Allí nos encontramos con los organizadores: César, Juanjo y Diego.

Llegamos un rato antes del comienzo de la charla, pero se me complicó al configurar la laptop con el proyector: no lo podía sacar de 640x480 de resolución. Finalmente reinicié la laptop, como que reconoció una mayor resolución, en lo proyectado se vió todo bien, pero yo no tenía imagen en mi pantalla.

Con esa pequeña molestia y todo, la charla salió muy bien, pude terminar con casi todo el contenido, y recibí feedback interesante para seguir puliendola.



Una vez terminada mi charla, ya quedé como "espectador solamente", y me deleité con las charlas de "Turbogears" (Matías Gieco), y de "PyWeek: un juego en 7 días" (Alecu y Daniel Moisset).

Luego almorzamos, todos los disertantes en una mesa grandota, donde nos atendieron muy bien. El almuerzo estuvo bueno, pero no es estratégico: ¡¡¡nos agarró una modorra espantosa!!!



A la tarde habían dos tracks de charlas, con lo que había que elegir cuales ver. Yo me decidí por "Desarrollando aplicaciones web con Zope 3" (Pablo Ambrosio), en la que aprendí bastante; "Creando juegos 3D de la mano de Python" (Silvestre Huens), muy bien llevada, especialmente por las demostraciones; "Usando Python para testeos de seguridad mediante simulación automática de ataques" (Dave y Matías Eissler), donde vi que hay mucho para investigar en programación automática de tareas; y finalmente "Programando para la OLPC" (Dave y Alecu), que fue super interesante.



En la última charla se me complicó cual elegir, porque se pisaba con "Concurrencia en Python" (Lucio). Pero ya había dicho que iba a filmar la charla de OLPC, así que no tuve opción. Espero poder ver la charla de Lucio en otro lugar...

Luego de todas las charlas, se sortearon algunos de los regalos que Lucio y Alecu habían traido de la última PyCon, haciendo el sorteo con cuatro lineas de código hechas por Alecu en el momento, mostrándolas en el proyector y explicándole al público qué iba haciendo... ¡muy bien!  Hasta tuvo una secretaria de lujo:



Los nombres se sacaron de una lista suministrada por los organizadores, pero había gente que ya no estaba. Los elegidos pasaban al frente y elegían algunos de los regalos (remeras, bolsitos, etc.).



Se produjeron los cierres de rigor, algunas palabras de los organizadores, etc, y nos fuimos para el bar de la terminal de colectivos de Santa Fe, donde tuvimos muchas mesas a nuestra disposición, WiFi, y hasta la onda de desenchufar un toque la tele para poder enchufar nuestras zapatillas.

La idea era hacer un sprint, y nos pusimos a trabajar en Typus Pocus, arreglando detalles, limpiando código, y tocando cosas para que pueda correr en la OLPC.



Nos quedamos hastas altas horas de la madrugada (bueno, las dos de la mañana, pero había sido un sábado super intenso). Se avanzó bastante, y quedamos muy contentos con la experiencia.


Cerrando el finde


El domingo nos levantamos con Moni algo tarde, y ya estaban los chicos desayunando (no todos, tuvimos que esperar a otros, pero lo aprovechamos para jugar al Crystal Towers, :).

Despues de desayunar, preparamos los autos para partir y nos fuimos a comprar alfajores y dulce de leche. Recién despues de eso arrancamos. Lo pasé a buscar a Nico y fuimos todos a lo de Chiquito, un restaurant especialista en pescados, a la vera del río, que estuvo muy muy bien.

Empanada de pescado (no sé de qué), milanesas de surubí, milaneas de otro pescado más, albóndigas de surubí, boga la parrilla (para caranchear), mimoso (servido de la misma manera), una cazuelita de tampoco me acuerdo qué, etc. Comimos como cerdos, porque estaba todo riquísimo.

Como corresponde despues de tanta comida, más a la tarde fuimos caminando a tomar un helado, y a la vuelta, con Moni, Alecu, César y otro chico que no me acuerdo el nombre, nos tiramos por un tobogán de esos gigantes y ondulados.



Esa fue como la última actividad, y luego de los saludos de rigor y de dejar a Nico en la casa, partimos para Buenos Aires.


Conclusiones

Un fin de semana muy bueno, para repetir y recomendar.

A nivel de software, estas jornadas ayudan muchísimo a la difusión del mismo, capacitación de la gente, e integración de conceptos. Pero también es muy importante en su aspecto social. Reunir movimientos separados geograficamente es una tarea que hay que realizar. Como siempre, fuimos muy bien atendidos por toda la gente de Santa Fe. Pueden ver acá todas las fotos del finde.

Muchas gracias a los organizadores, fue un honor participar de las jornadas.

Un Python por chico

Python — Jueves 07 de Junio de 2007, 12:52

Hace casi dos años atrás, yo escribía sobre un proyecto del MIT, One Laptop Per Child. Hoy por hoy, ese proyecto es mucho más conocido, así que no voy a repetir características.

Ha pasado mucha agua bajo el puente, y aunque todavía no está en producción masiva, ya existen muchas de estas máquinas distribuídas alrededor del mundo, para que los desarrolladores experimenten, creen contenidos, programas, etc.

Esto es principalmente porque aunque el sistema operativo es más o menos estándar (un Fedora adaptado), tiene una nueva interfaz gráfica: Sugar. La misma tiene algunos conceptos totalmente revolucionarios, y otros que aunque probados, no son "normales". Un ejemplo del segundo, es que es un sistema de ventanas, pero las ventanas no son solapables.

Esta nueva interfaz abandona un poco el tradicional concepto de escritorio que usan la mayoría de interfaces y se centra más en el usuario, el cual dispondrá de cuatro tipos de vista distintos: Inicio, Amigos, Vecinos y Actividades. En Amigos se podrá charlar con los amigos del usuario, en Vecinos se podrán crear comunidades y realizar actividades en grupo (imaginemos un trabajo en grupo en la escuela) y en Actividades será donde se realicen estas propiamente dichas.

Sugar misma está integralmente hecha en Python, así como también gran parte los programas, lo que permite que siempre esté accesible el código fuente del programa que estás usando, pensado esto principalmente como herramienta pedagógica.

Entonces, se pueden imaginar que esta laptop tiene una importancia estratégica para Python en general, y para PyAr en particular. Por este motivo, nos acercamos a la gente de educ.ar, y hoy tuvimos una reunión con Laura Marés Serra quien en dicho acto nos prestó (por tiempo indeterminado) dos de estas preciosuras, :D.

Alecu y Dave van a dar una charla de la OLPC este finde en Python Santa Fe, y ya tenemos pensado meternos a participar en el desarrollo de estas máquinas. Por lo pronto, vamos a migrar Typus Pocus, :)

Con respecto al Python Day en Santa Fe, ya salimos en los diarios y todo (en La Nación, pero no pongo el link porque los turros, después de un tiempo, te imponen que seas de su club para mostrarte el artículo, y en El Litoral).

Agregando valor

Python — Martes 05 de Junio de 2007, 12:50

Leyendo un magnífico cuestionario, que se aplicó a muchos lenguajes, pero acá está contestado (y muy bien) con respecto a Python, me crucé con esta pregunta, y una respuesta que sintetiza tan bien el poder y la simplicidad de Python, que quise reproducirla aquí (la pongo directamente en castellano, si la quieren en el inglés original, la tienen en el cuestionario).

F77: ¿Cuál es el valor del lenguaje para los desarrolladores?

Aprendelo una vez, usalo en todos lados: aplicaciones web, aplicaciones con interfaz gráfica, scripts de línea de órdenes, integración de sistemas, usar bibliotecas de otros lenguajes, multi-plataforma, escala de tareas rápidas a sistemas grandes y complejos.

Encaja en tu cerebro: permite al desarrollador pensar en el espacio del problema en lugar del espacio de la solución, dejándolo concentrarse en la aplicación en lugar de administrar memoria y detalles. Python le permite a los desarrolladores trabajar más eficientemente que en otros lenguajes, por medio de su práctica sintáxis que enfatiza la elegancia y la claridad a través de lo minimalista, y es una gran herramienta pedagógica en si misma.

Pilas incluidas: viene con un extenso conjunto de módulos estándares maduros, y hay disponible en Internet una rica selección de módulos de terceros, ambos multi-plataforma o nativos.  Jython e IronPython también permiten al desarrollador aprovechar los módulos existentes en los entornos Java y .NET.

Conciso y legible: mantenible, fácil de colaborar con otros desarrolladores; todo hace algo, no hay cosas superfluas.

Accesible: a desarrolladores dentro de un equipo con distintos niveles de habilidad, de principiantes que se vuelven rápidamente productivos a desarrolladores experimentados que necesitan conceptos avanzados. Un desarrollador no tiene que conocer todo el lenguaje para construir cosas poderosas; facilitado todo por las pruebas interactivas, exploración de ideas, y un gran uso de la introspección.

Este fin de semana es el segundo Python Day de Santa Fe, ¡vamos todavía! (acá y acá tienen info sobre la primera). Python Argentina y la Python Software Foundation patrocinan, entre otras empresas y organizaciones, esta jornada (gracias a la Fundación Vía Libre por hacernos de "fundación paraguas" para poder recibir fondos de afuera).

Nuevamente mentor

Python — Jueves 19 de Abril de 2007, 09:57

Se cerró la elección de proyectos para el Google Summer of Code 2007. Nuevamente, igual que el año pasado, soy mentor de uno de los proyectos.

Este año la Python Software Foundation funcionó oficialmente como organización /paraguas/ de otros proyectos (SymPy, PyPy, Pyjamas, etc; proyectos que están hechos en Python, pero que no son Python itself).

Google, en total, nos aprobó 34 proyectos, :D. Pueden ver todos los proyectos aprobados y demás info aquí. Si les interesa revisar tooooodos los proyectos de todas las organizaciones involucradas, hay un resumen aquí.

El proyecto del cual soy mentor se basa basicamente en mejorar casos de pruebas de la biblioteca estándar de Python. Alan McIntyre (la persona que va a ejectuar el proyecto propiamente dicho), va a hacer un análisis para determinar a qué módulos les falta mejorar sus casos de prueba, definiremos los tres o cuatros que va a atacar, y se pondrá a hacerlo.

Si están leyendo esto, y piensan "Ufa! Lástima que yo curso en esta época en lugar de tener vacaciones", sepan que Google estaba barajando la posibilidad de hacer esto mismo pero en los meses de nuestro verano, para que los estudiantes del hemisferio sur puedan participar mejor.

Curso de Python

Python — Martes 27 de Marzo de 2007, 14:16

La semana pasada me contactaron de dos lugares diferentes, para dar un curso de Python, y en ambos casos me preguntaron cómo sería un temario básico.

Yo dí varios cursos de Python, en empresas, universidades y terciarios (incluso a particulares), siempre utilizando una técnica de enseñanza que probó ser dinámica, productiva y eficiente, :).

Preparé entonces dicho temario, que sería lo básico que se puede enseñar sobre Python, más un último punto en que hay varios temas no tan estándares (quizás necesites saber sobre bases de datos, o XMl, o threads, quizás no).

Dejé el temario acá (también puse el enlace en la barra de la derecha).

Resumen de parches y bugs

Python — Jueves 22 de Marzo de 2007, 07:37

A principios de Marzo hubo una discusión en python-dev sobre parches y bugs que teóricamente no se revisaban. La discusión iba por el lado de cómo involucrar más gente en la revisión de patchs y bugs, y de imprimirle otra dinámica al asunto.

A partír de esa discusión, yo me pregunté "¿Cómo puedo saber la ubicación temporal de un patch/bug?". ¿Hay muchos patchs/bugs viejos? ¿Esos que son viejos no tienen update o hay toda una discusión con cada uno? ¿Están abandonados?

Para ayudarme con ese análisis, hice una herramienta que a partir de la info en SourceForge arma un cuadro resumen, tanto de los patchs como de los bugs.

Agregué ambos enlaces en la barrita de la derecha ( ---> ).

Mi idea es actualizarlos periódicamente (algo así como una vez por día, al final del html tienen la fecha y hora de actualización).

Me es útil, y a otra gente también, e incluso ya me dieron ideas para mejorarlo (por ejemplo, una barrita negra justo en el momento en que hubo un comentario o update, aunque no es tan fácil sacar esa info de SourceForge).

¿Por qué gusta lo complicado?

Python — Jueves 07 de Diciembre de 2006, 12:00

Los veo programar, en VisualBasic, por ejemplo, o en Java... y están todo el tiempo abriendo y cerrando llaves, escriben el IF, y luego abajo escriben el END IF....pero dudan, no saben que poner adentro, todavía, entonces borran el END IF...

¿Cuánto más eficiente es esa persona si no tuvo que escribir el ENDIF y borrarlo las tres veces? ¿Se puede concentrar mejor si no lo tiene que hacer (como en Python)? Si supiera concentrarse, de entrada, ¿lo escribiría una sola vez y listo?

La sintáxis del lenguaje, ¿ayuda en estos casos? En muchos casos estoy seguro de que sí. ¿Y en estos?

Muchas veces leo que Java, por ejemplo, es muy dificil de programar sin una IDE que te automatice todo esto... ¿entonces por qué no dejarlo de lado? Si voy a poner llaves para abrir y cerrar, pero no lo quiero poner y dependo de que me lo haga la IDE, ¿para que tener llaves? Porque después, si no tengo la IDE, no puedo programar... ¿No puedo usar algo más intuitivo para mí, y no para la máquina?

Fin de semana libre

Python — Lunes 13 de Noviembre de 2006, 17:55

Bueno, pasó CaFeConf 2006. La verdad, un éxito absoluto.

El viernes estuvo más tranqui. Fui a dos charlas y media (fui a tres, pero presté atención en dos, :p), y el resto del tiempo estuve en la mesa/stand que teníamos de PyAr en la conferencia. Colgamos la bandera, recien estrenada, arriba; acá hay una foto con Alex Martelli:

Bandera PyAr y Alex

Las dos charlas estuvieron muy bien. En la primera Anna Ravenscroft Martelli nos contó el papel de las mujeres en las Tecnologías de la Información, explicando que lo que normalmente hay es una barrera de entrada: una vez la mujer está adentro del sistema, se comporta con la misma capacidad que el hombre, pero basicamente le cuesta entrar.

La otra charla era sobre el proyecto Gnome. Yo siempre usé Gnome, primero en Fedora Core, después en Ubuntu. Y Gnome es un proyecto muy relacionado con Python. Ergo, la charla me interesó muchísimo. Estuvo muy bien.

El resto del día lo pasé en la mesa, contestando preguntas a los que se acercaban, mostrando los juegos que hicimos en Python para PyWeek (especialmente TypusPocus). El tener una mesa en CaFeConf fue muy bueno, es una propaganda inmejorable: ahora sé por qué las empresas pagan tanto dinero por tener un stand en las conferencias.

Reunión en la Casa del Queso

El cierre de la jornada estuvo dada por la decimonovena reunión de Python Argentina. Fuimos a La Casa del Queso, cerca del Abasto, donde comimos y tomamos muy bien. Como se preveía, mitad por ser después de la conferencia, mitad por tener invitados internacionales, tuvimos un nuevo record de asistencia, pero para más detalles esperaremos la minuta oficial.

El sábado estuvo más movidito. Arranqué temprano con mi charla. Con Mariano, cinco minutos antes de que empiece, pudimos configurar mi laptop para que use el proyector, así que estaba contento. Tuve que arrancar pasadas las once y diez, porque seguía llegando gente (y siguió llegando gente: ocuparon todos los asientos, se quedaron parados, y dejaron de entrar porque no había más espacio). Me gustó mucho como me quedó armada la presentación, basicamente porque a la gente le interesó, se quedaron enganchados, preguntaban, participaban, todo muy bien.

Facu introduciendo Python

El único punto complicado fue que me quedé sin tiempo para toda la presentación. Me apuré al final, pero no llegué a terminarla. No me quería ir, y el público tampoco, pero finalmente tuve que cortar.

Alex Martelli en CaFeConf

Luego del almuerzo vino la charla plenaria de Alex (Qué es Python y porqué importa), que estuvo muy bien, y seguimos toda la tarde con Python: fui a ver a la oveja eléctrica de Santiágo, y a Alecu contando la experiencia de hacer un juego en una semana. Muy buenas ambas charlas.

Dave y Alecu

A las 19hs, cuando ya estábamos todos muy cansados, vino el cierre de la conferencia. Con Leito Monk sobre el escenario, mostrando un lado showman que yo no conocía (pero que no tiene nada que envidiarle a Billy Crystal), el cierre estuvo fantástico. Discursos de los organizadores (incluído el propio Leito), sorteos, videos, todo muy completito. Un cierre como corresponde.

Cierre con todos arriba del escenario

Al otro día, domingo, el fin de semana continuó, ya que nos juntamos en Bella Vista, en casa de los padres de Mariano, él mismo, Lucio, Leito, Yaco, Dave, Nubis, Pablo y yo, como integrantes de Python Argentina, novias (algunas no) para que el festejo sea completo, y dos invitados de lujo: Alex y Anna Martelli.

Alrededor de la mesa

El asado lo hizo Mauricio, y la verdad es que comimos muy bien. Mónica hizo unas galletitas de queso para el aperitivo, y flan y brownies para el postre y la tarde. Sol, mate, helado, y mucho, mucho vino acompañaron el resto del día.

Alecu, Moni y Alex, relajados

La verdad es que no quería irme, por lo bueno que había sido todo, pero ya se había hecho de noche, y decidimos marchar con Mónica. Nos quedaron, sí, algunas fuerzas para visitar a Sofía, la nueva integrante de la familia Diego-Diana-Josefina, :). Pero llegamos a casa molidos, y el sueño me dura hasta ahora, :p

Se viene, se viene...

Python — Jueves 09 de Noviembre de 2006, 01:19

...CaFeConf 2006, las quintas conferencias abiertas de GNU/Linux y Software Libre.

Este año, como el pasado, doy una charla: Introducción a Python. Pero este año tiene un gustito particular.

No sólo estoy más comprometido con la conference personalmente (me tomo el viernes en el laburo y voy a ir ambos días de la conferencia todo el día), sino que también tenemos más presencia, como grupo, con Python Argentina (vamos a tener una mesa, finalmente tenemos bandera para mostrar, etc.).

Además, es un fin de semana especial por otro motivo. Traemos para la conferencia, como invitados, a Alex Martelli y Anna Martelli Ravenscroft (los tengo que ir a buscar en un par de horas al aeropuerto). Obvio, aprovecharemos que los tenemos acá, y haremos una reunión de PyAr, la decimonovena, en la Casa del Queso.

Les dejo dos enlaces a notas del diario La Nación y de InfoBAE. Ojo que en el diario La Nación está mal el nombre de Alex (es una vergüenza, nadie chequea nada, nunca crean lo que leen en un diario), ya que la primer gacetilla de CaFeLUG salió incorrecta (pero luego la rectificaron).

Powered by LifeType