Fueron los Sprint de PyCon 2005

Python — Martes 22 de Marzo de 2005, 18:02

Hoy fue el último día de Sprint. Mañana ya empieza la Conferencia propiamente dicha.

Sí me estaba olvidando de alguien a mencionar los más conocidos aquí: Martin von Löwis, Michael Chermside y Armin Rigo. Y ayer vino Steve Holden, que no es otro que el Chairman de la PSF (Python Software Foundation).

Estos dos días fueron muy similares a los otros a nivel trabajo. Realmente es muy lindo poder dedicarle varias horas seguidas a los proyectos que uno tiene, sin estar cansado de trabajar todo el día. Y es muy productivo trabajar en conjunto aunque sean cosas por separado, ya que cuando uno normalmente se distrae, lo hace para engancharse en otra conversación y aprender algo nuevo.

Por supuesto, hay de todo. Ayer estuve media hora fumando y charlando con Alex Martelli sobre pescado ahumado y salado, y las formas de conservarlo, para qué se usaba, y esas cosas. Muy pytónico, ¿no? :p

Una noticia interesante: ¡Me invitaron a EuroPython! (Suecia, fines de Junio). Todavía no definí las charlas que voy a dar. Seguro que iré por una de Decimal, pero tengo que decidir si voy a dar alguna sobre Money (un tipo de dato específico para manejar dinero), o dar una charla sobre cómo es desarrollar para Python sin ser yanqui (sugerida por la persona que me contactó, pero algo ya me había dicho Michael Chermside sobre que sería interesante que yo escriba algo de eso). O incluso podría dar ambas, pero tres creo que es demasiado...

Razonando mientras escribo, quizás sería interesante armar un Sprint sobre Money, en lugar de una charla, y que más o menos salga ese proyecto definido desde ahí. Podría ser.

Actualización: Estuve charlando con Alex Martelli, y llegamos a la conclusión que lo mejor es tener un Open Space (sería como una charla abierta sobre un tema; muy piola para discutir especificaciones) aquí mismo en PyCon, continuar el desarrollo de las especificaciones por la lista luego, y armar un Sprint para implementar Money en EuroPython.

Mi último trabajo de los Sprints fue armar la presentación de PyAr. Estoy viendo lo de pedir una URL piola, ¡quizás se nos de!

Primeros dos días en PyCon

Python — Lunes 21 de Marzo de 2005, 13:44

Comenzaron nomás los Sprint de PyCon 2005.

Basicamente un Sprint es un evento donde varias personas se juntan fisicamente a hacer lo que el resto de las veces realizan por separado: diseñarw, echar código, etc...

El ámbito físico de PyCon son dos salas del tercer piso de la GWU (George Washington University). En una sala se trabaja principalmente sobre Zope y Twisted. En la otra los temas son AST, PyPy, Distutils y un par más. Yo estoy en la segunda sala, tratando de aprender un poquito de AST, y ayudando a Brett Cannon a que el documento explicativo del compilador que está armando quede listo para que lo entienda cualquiera (aportando mi extremadamente útil punto de vista del ignorante total, ;). No es que haga eso solamente. Estoy preparando las charlitas de SiGeFi y PyAr, trabajando un poquito en SiGeFi y Decimal, y un montón de temitas varios más (ya que estamos, subí las presentaciones de SiGeFi y Decimal por si las quieren ver; están en .sxi, necesitan OpenOffice para verlas).

La sala no es nada especial, un montón de mesas y sillas, un proyector, etc. Tenemos WiFi y hay unos hubs para los que necesitan ethernet por cable. Enchufes por doquier, los pisos llenos de cables (tapados con cinta para no engancharlos), café, comida. Y mucha buena onda, para todo. Ese es el ambiente en general.

Hay momentos en que están todos callados trabajando, muy concentrados, y hay momentos en que la algarabía es total, todos charlando, riendo, etc. La verdad es que está muy bueno, porque te permite conocer a un montón de gente que antes sólo era un remitente en un mail. Alex Martelli, Tim Peters, David Goodger, Fred Drake, Brett Cannon, Andrew Kuchling, y me debo estar olvidando de alguien seguro. Fumarme un cigarrillo con Alex o Tim, o ir a comer con Brett o Andrew, no son cosas que se puedan hacer mucho por mail.

Los sprints comienzan a las 8 de la mañana (aunque los primeros dos días llegué tarde porque el subte se quedó parado veinte minutos en el medio del camino). Hay gente que se llevó una cafetera y hace café, yo hoy me fui a comprar un cafe con leche. Normalmente trabajamos hasta eso de las doce, doce y media, y vamos a comprar algo para comer (y nos traemos). Luego le pegamos hasta eso de las seis, por supuesto con las interrupciones normales para ir a buscar un café, etc. Todo muy distendido.

Dos cosas que me asombraron de Washington. La primera es la forma de manejar (autos, camiones, etc.). Cuando hay un cartel de stop, o incluso en la bocacalle de una avenida, ¡los tipos paran!. Si, detienen el vehículo, miran, y luego arrancan nuevamente. Aunque no venga nadie.

La segunda es que cuando uno va a comprar algo, el precio anunciado (o el que te dicen cuando les preguntás) no es el precio final. Por ejemplo, ayer fui a comer a un lugar de comidas mexicanas, y pedí una ensalada (basicamente el contenido del burrito pero sin la tortilla alrededor) y un agua. Según los precios, el total era $7.99. En la boleta, los precios suman $7.99. Pero después le meten el impuesto (en este caso $0.80) y te cobran eso. Resultado: es dificil saber cuanto vas a gastar. El problema realmente es que el impuesto no es el mismo en todos lados; cada estado tiene su impuesto, eso seguro, pero creo que también varía según la zona, o el tipo de local, etc.

Decimal en PyCon 2005

Python — Jueves 24 de Febrero de 2005, 09:13

Finalmente todas los pequeños detalles que tenían que encajar justo lo hicieron.

La Fundación de Software de Python (PSF) me invita a Washington, USA, para exponer en la Tercer Conferencia Internacional de Python (PyCon 2005).

La charla será sobre los aspectos avanzados de Decimal (un módulo agarré empezado, pero que coordiné, impulsé, programé, y ahora está en Python 2.4).




Dos sitios y noticias

Python — Martes 25 de Enero de 2005, 07:07

Los dos sitios:

Bilo y Nano se lo montan: Espectacular página donde todas las semanas sacan una historieta nueva: Las peripecias de tres amigos, uno fanático de Debian, otro de Mandrake y otro de Windows. Tiene más cosas, voy descubriéndolas de a poquito.

BCP Development: Empresa dedicada al control de edificios inteligentes. He visto demostraciones del producto y la conclusión es sencilla: si pudiera tener una casa con las últimas tecnologías en Domótica, tengo muy claro que empresa contrataría para ello (actualización 07-Nov-2007, este sitio parece no existir más...)

Bueno, algunas noticias. No se si 100% oficial, pero está bastante aceptado el logo que hice de PyAr:



El diseño original no es mío, sino de Pablo Ziliani que se mandó un espectacular .gif aplaudido y designado por unanimidad como logo oficial de la organización. Yo lo único que hice es rehacer el dibujo de Pablo pero en vectorial, para que se pueda redimensionar sin perder la calidad del mismo.

Tengan en cuenta que la imagen que pegué acá es un PNG con transparencias. Si usan Internet Explorer, no lo van a poder ver bien: después de todo, ¡el PNG es un formato re-nuevo! (Es de 1995, Microsoft no tiene tanta plata como para mantenerse al tanto de tooodas las nuevas tecnologías). Ahora, en serio, dejen de usar esa bosta e instalen Firefox.

La otra noticia es que este sábado estoy partiendo a Holanda, por un curso de SMS que dura una semana y media (luego me quedo tres días en Madrid, que es la escala del avión, así que estoy afuera dos semanas). Quizás postee algo desde allá, pero tengo que ver cuán caro salen los locutorios internéticos.

Quinta reunión de PyAr

Python — Miércoles 19 de Enero de 2005, 06:40

Se llevó a cabo la quinta reunión de PyAr con total éxito. Como Mariano (escriba oficial) estaba de vacaciones, recayó en mí la tarea de contarles qué hicimos.

- Charlamos con los nuevos participantes, Leonardo, Octavio, David y Santiago, conociendo lo que hacen, qué hacen en Python, etc. Como nota de color, tuvimos el primer participante que no viene del área de sistemas, sino que es biólogo (Octavio, y usa Python para procesar datos).

- Discutimos el mejor framework para crear un sistema administrativo con interfaz web, tema introducido por Leonardo, cuya necesidad es práctica y surge de su contexto laboral.

- Definimos una cuestión administrativa que teníamos pendiente: ¿qué vamos a hacer con nuestra lista de correo? La decisión final es encontrar una lista que cumpla con nuestras expectativas (que pueda tener nuestro dominio y que tenga archivo) y migrar a ella. Pero antes, nada. Al respecto, yo me llevé como pendiente averiguar que características tienen las listas que puedo hostear en mi sitio.

- Expuse Decimal. Estuvo muy interesante, porque nos poníamos a discutir sobre la curvatura del círculo, que los complejos tienen infinitos todo alrededor, sobre el pelo del gato y la quinta pata del huevo. ¡Y hasta les pude contar como usar el módulo! Realmente me encantó. Ah, de paso:

>>> from decimal import *
>>> Decimal("-0")
Decimal("-0")
>>> Decimal("0")
Decimal("0")
>>> Decimal("0") == Decimal("-0")
True

- Definimos el tema del Primer Sprint PyAr: vamos a hacer el Administrador de Colas de Mensajes (nombre no oficial), con interfaces SMTP (mail), SMPP (SMSs o mensajes cortos) y MM7 (MMSs o mensajes multimedia). La primer reunión será el Jueves 27 de Enero en el mismo lugar que hicimos la reunión, ya que comenzaremos con el diseño del sistema, y no necesitamos más que papel, lápiz, y buenas ideas (y, por supuesto, cerveeeeza).



Python 2.4

Python — Martes 30 de Noviembre de 2004, 09:58

La última versión de Python ya está en la calle. Esta es una release final y estable, y se recomienda a los usuarios que actualicen a esta versión.

Python 2.4 es el resultado de casi 18 meses de trabajo sobre la versión anterior, Py2.3, y representa otra etapa en la cuidadosa evolución del lenguaje. Se mantuvieron al mínimo las nuevas características de Python, se corrigieron muchos bugs y se realizó una importante variedad de mejoras.

Entre los cambios más importantes tenemos decoradores de funciones, expresiones generadoras, mejoras al importar los módulos, y bastantes nuevos módulos (incluyendo subprocess, decimal y cookielib).

Para seguir investigando mire el What's New In Python de Andrew Kuchling, los puntos sobresalientes de esta versión, y las notas detalladas sobre Python 2.4.

Para más información y bajar los instaladores, vaya a la página oficial.

Aritmética Decimal

Python — Martes 23 de Noviembre de 2004, 17:03

Puse disponible en la web, accesible facilmente las instrucciones de cómo bajar e instalar en Python 2.3 el módulo decimal.py (en castellano y en inglés).



¿Referencia o valor?

Python — Lunes 25 de Octubre de 2004, 07:40
Lo siguiente es una respuesta mía (levemente modificada, por el contexto) a una pregunta sobre si en Python los objetos se pasan por referencia o por valor:

Python, a decir verdad, ¡no pasa los objetos!. Los objetos están en memoria, y lo que se hace es reasignarles un nombre.

Por ejemplo:

1 def func(a):
2 print a
3
4 b = "blah"
5 print b
6 func(b)

En la línea 4 se crea un objeto en memoria, tipo string, y con un contenido determinado. A este objeto se lo relaciona con el nombre "b". A partir de ese momento, cuando hablemos de "b" en este espacio de nombres, estaremos haciendo referencia a ese objeto en memoria (que es lo que hacemos justamente en la linea 5).

En la linea 6, llamamos a una función, con el nombre "b" como primer parámetro. Según la definición de la función, llamaremos "a" al primer parámetro. Dentro del espacio de nombres de esa función, cada vez que usemos el nombre "a", nos referiremos al mismo string que indicamos antes, al mismo objeto en memoria.

Resumiendo, el objeto no se copia, y no se pasa un puntero al mismo, simplemente se le asigna otro nombre en otro espacio de nombres.

>> def f(a):
print id(a)

>>> b = 5
>>> id(5)
9065408
>>> f(b)
9065408

Pensarlo de esta forma (que es lo que realmente sucede) nos simplifica la vida cuando tenemos distintos comportamientos con los objetos mutables e inmutables. Por ejemplo:

>>> def f(a,b):
print id(a), id(b)
a = 7778
b.append('?')
print id(a), id(b)

>>> c = 56
>>> d = ['pp', 11]
>>> c, d
(56, ['pp', 11])
>>> id(c), id(d)
(9064796, 11094976)
>>> f(c,d)
9064796 11094976
10047164 11094976
>>> c, d
(56, ['pp', 11, '?'])
>>>

Como vemos, al comienzo de la función, "a" apunta al mismo objeto que "c" fuera de la función, y lo mismo sucede con "b" y "d".

Y aquí es donde paga no pensar como "variables clásicas": en la primer linea NO estamos modificando una variable "a", sino que llamamos "a" a otro objeto en memoria, que no tiene nada que ver con el anterior. El nombre "b", en cambio, no es reasignado a otro objeto. Al final de la función vemos lo que acabo de explicar: "a" apunta a otro objeto en memoria y "b" todavía al mismo.

Cuando volvemos al cuerpo principal de la función encontramos que el objeto al que apunta "c" sigue estando igual (nunca se modificó), y el objeto al que apuntamos con el nombre "b" sí sufrió una modificación.

Hay un excelente artículo de Alex Martelli sobre este asunto, gentilmente traducido por Hernán Martínez Foffani.
«Anterior   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Powered by LifeType