Plone and IRC

Hypothesis: the vibrancy of a framework’s IRC channel is proportional to the amount of time that the framework takes to start up each time you tweak your code or settings and need it reloaded.

Further hypothesis: this relationship is non-linear. My guess is that frameworks which take, say, four seconds to restart probably get no more IRC attention than frameworks which take two seconds to restart, so adding mere seconds of delay to your framework’s startup routine is not going to generate thriving community. There is, instead, a threshold — probably around ten or twelve seconds — above which the delay feels so long that the developer can, in good conscience towards their employer, switch over into IRC during a restart without feeling like they hurt their productivity.

Posted in Uncategorized | No Comments »

The terrible magic of setuptools

I am providing a bit of assistance to the wonderful Natural Language Toolkit Project, who have implemented a wide array of language processing algorithms in Python atop a common set of very sleek — and cleanly Pythonic — data structures for representing natural language. If you are at all interested, check out their recent book, Natural Language Processing with Python, which does a great job of showing how the NLTK works at the same time as it explains the computer science concepts of language processing.

The NTLK project wants to support installing their package as a Python egg, so they asked me to tidy up their setup.py file and prepare everything for distribution via the Python Package Index.

As usual, my desire for simple and reproducible behavior when distributing Python packages has run aground on the tangled magic for which setuptools is so justly famous.

(more...)

Posted in Computing, Python | 12 Comments »

The June 2009 issue of Python Magazine

The new issue of Python Magazine is out, and it's a technically hefty issue that, while lacking the kind of human-interest “what Python did for me” stories that I often use to balance the articles about programming, does do a really good job of showing the diverse kinds of problems that Python can tackle today.

Before detailing its content, I should apologize that the magazine keeps arriving later and later each month. Alert readers will have noticed that this “June” issue is actually appearing on July 9th. It is late because, in these inexperienced first few months as Editor-in-Chief, I have been treating magazine editing as a serial process, and have not really been starting work on an issue until the previous one is out the door. To fix things, I will start working more like an efficient, modern, pipelined microprocessor, and fetch articles for one issue while a second issue is being edited and yet a third is in layout to be published.

So, watch for a gradually improving schedule over the last half of this year! One reader wrote me to ask whether the late schedule was a sign that the publisher was losing interest in the publication. In fact, it is the person on staff who is most dedicated to Python — myself! — who is at fault, so no lack of interest in the publication is at all implied.

So, what does the “June” issue have to offer?

Plenty!

(more...)

Posted in Computing, Python | 1 Comment »