easy_install: virtualenv or hard maintenance

Posted on May 26, 2008 by john.
Categories: Python, business.

At Except we have over a dozen computers running Ubuntu being used as developer workstations. Most of our developers work in Python, so often there is a real need to install cutting-edge software, and too often the instructions go something like

$ sudo easy_install <package>

and down that road lies madness. (more…)

Let’s discuss the matter further » Using Zope Adapters

Posted on March 26, 2008 by john.
Categories: Zope.

Una de las mejores presentaciones acerca de por qué la “arquitectura de componentes” de Zope 3, es decir, la parte más básica de las librerías de zope 3, que no tienen nada que ver (necesariamente) con aplicaciones web sino que son mucho más generales, es tan buenísima: Let’s discuss the matter further » Using Zope Adapters

Gracias a Jon Stahl por el link.

2 bugs down, eleventy gazillion to go

Posted on January 21, 2008 by john.
Categories: Python.

Trabajé en (y conseguí hacer cerrar) dos bugs en el PythonBugDay: uno medio bodrio de un error en el setup.py, y otro que me gustó mucho de agregarle rfind a mmap. De paso le agregué un parámetro opcional end, para que se porten igual que los de str.

Así que si en el futuo cercano, cuando haya salido 2.6, se les muere el perro, es culpa de Facundo, por invitarme :).

¡SimCity es GPL!

Posted on January 16, 2008 by john.
Categories: Python.

¡SimCity es GPL! Debo haber quemado noches enteras de mi adolescencia construyendo imperios en este juego. Y ahora lo liberan y le ponen bindings para Python. Claramente es un complot.

Web Framework Deathmatch!

Posted on January 15, 2008 by john.
Categories: pycamp.

En el Campamento Python que está organizando Except una de las actividades que estamos queriendo hacer es un deathmatch entre los distintos frameworks. La idea, que en realidad es de cramm, es que en el mes que hay entre acá y allá distintas personas preparen una misma aplicación en su entorno web de preferencia, y usemos el campamento para exponer y comparar las aplicaciones, los entornos, las implementaciones, y los tonos que da la luz al pasar por los pinos y chocar con la cara del expositor.

Así que si sos fanboy de Django, TurboGears, Pylons, web.py, Zope 3, Grok, Plone, o cualquiera de los frameworks para hacer aplicaciones web en python, lo único que tenés que hacer para el 15 de febrero es hacer esta aplicación. No trabajar, no estudiar, no comer, no dormir. Un blog. Multiusuario, extensible, con comentarios, tags (categorías), y temas (emm… que le puedas cambiar la pinta sin saber programar). Y que las URLs sean bonitas, porque estamos en el siglo XXI.

La idea es poder mostrar lo mejor de cada framework, así que las presentaciones pueden ser individuales, grupales, o colectivas; pueden usar todo lo que usarían para un proyecto “real” (es decir, lo que fuera parte del commons, del acervo de cada proyecto). La presentación no debería tardar más de 7 minutos, porque la mayoría del tiempo va a ser usado para preguntas, respuestas, y reírnos del código. Coordinen via la lista de correos, así tenemos una sola presentación por entorno y no pasa a ser “yo hago mejor django que vos”.

¡Voy al Python Bug Day! ¡Ueeeeh!

Posted on by john.
Categories: Python.

En un esfuerzo de producción conjunta, la familia Lenton-Dailly ha decidido auspiciar con un día sábado casi entero del papá de la misma al próximo Python Bug Day. ¡Ueeeh!

Sir, your on-disk cache is full.

Posted on May 30, 2007 by john.
Categories: apache, plone.

I forgot two mention two things in my two-step micro howto on plone caching. (more…)

Plone caching in two simple steps

Posted on May 24, 2007 by john.
Categories: apache, plone.

Plone is slow. Sure, it does an awful amount of work for every request, but it really shows: in a standard install of Zope and Plone on nice hardware with plenty of memory, getting Plone’s index page takes about 250ms. Other, less complex objects such as CSS files or images take about a tenth of that. Unfortunately, as Plone’s default skin is amazingly complex (and for good reasons), you need to fetch anything between 10 and 50 objects out of the database before your browser stops looking busy. You can’t serve more than a couple of concurrent users with that.

Fortunately setting up a reasonable bit of caching is really trivial, should require no extra software, no recompilation, no nothing, and you can see speedups of more than 25×. Here’s how! (more…)