Entries published in 2009

14 entries published in this year. See also: latest entries.


So, life has been eventful lately. There was DjangoCon, which was awesome even though I came away deeply unhappy with how my talk turned out; due to a lot of hectic things going on, it fell far below the standard I usually like to enforce for myself. I’ve got a couple things cooking for PyCon, though, which will hopefully make up for it. Things are starting to ramp up for the Django 1.2 development cycle, which is looking to be chock full of awesomeness. There’s quite a lot of ...

Entry published October 14, 2009. Read full entry.

Let’s talk about WSGI

Recently Armin Ronacher (whose blog you should be reading if you do anything at all involving Python and the web) has published a couple of good articles poking at the current state of WSGI, the standard interface for Python web applications. Some of his comments dovetail nicely into concerns I’ve been trying to put into words for a while now, so I’m glad he’s posting on the subject and providing some context.

In short, I’ve come to have some rather severe misgivings about WSGI — both as currently constituted and as ...

Entry published August 10, 2009. Read full entry.

On “magic”, once again

So it seems Giles Bowkett is upset about use of the word “magic”. I’m happy to agree with the general consensus from various fora that the specific article he’s complaining about is, well, pretty much content-free. I could read that post over and over and still have no idea what actual things the author liked about Django or didn’t like about Rails. But I’ve pretty much learned to ignore content-free hype, and that’s what I did in that case.

I’m also quite happy to grant that not all programming languages do ...

Entry published July 23, 2009. Read full entry.

When licenses attack

Jacob posted twenty questions about the GPL. Zed followed with an explanation of why he placed Lamson under the GPL. This has provoked some discussion around the internets, some of which I have read and some of which I’ve ignored.

Unfortunately, there’s a lot of noise drowning out useful discussion, much of it centered around alleging — directly or indirectly — that if you ask questions about how the GPL interacts with other licenses, you must be trying to “get around” the GPL, or take someone’s GPL code and use it ...

Entry published July 14, 2009. Read full entry.

In pace requiescat

So the charter of the XHTML Working Group will be allowed to expire without renewal. This is a source of consternation for some, who feel that the W3C is perhaps sending conflicting messages — how long until we find out that HTML5 isn’t really the future, either? — and, perhaps, smug “I told you so” satisfaction for others.

I have little to add to either of those camps, so what follows here is nothing more than my rambling, disconnected thoughts on the news.

XHTML had it coming

In a way I ...

Entry published July 8, 2009. Read full entry.

An update on the book

So, the repository for the second edition of Practical Django Projects is not yet done, but due to the general clamor I’m opening up public access; you can browse it, or check out a copy of the code, from its page on Bitbucket. You’ll probably want to have a look over the README file displayed on that page, since it provides helpful information on how the repository works.

Right now the first three chapters’ worth of code (covering the first project in the book — a very simple content-management system) are ...

Entry published July 7, 2009. Read full entry.

A fun little bug

About two months ago, I quietly wrote and released a little Django application which generates cross-domain policy files for Flash (if you’ve never encountered this aspect of Flash, here’s an introductory article on how it works). I’ve done a bit of hacking on it in my spare time, and I’m pretty happy with it as an example of a simple, tightly-focused application; sometime soon I hope to write a bit more about the development process behind it, because it provides a useful real-world guide to some of the abstract best ...

Entry published June 26, 2009. Read full entry.

Second edition

So just after lunch today a box arrived, containing copies of the second edition of Practical Django Projects, which went through final editing about a month ago (Apress tends to be pretty quick at getting the book printed and shipping). Since I assume that means other people will be getting copies of the book soon, I’d like to cover a couple important bits of information.

First of all, the second edition (as the cover proudly declares) covers Django 1.1. Which hasn’t yet released. There are three actual bugs still open ...

Entry published June 23, 2009. Read full entry.

Slicehost is smarter than I am

So this afternoon I took a little break from running unit tests to head to the store and pick up a couple things. When I got back, I noticed I was no longer on IRC, and my client was reporting it couldn’t connect to the bouncer I run to stay online. I tried to SSH in to see if the bouncer had died, and discovered I couldn’t connect.

And couldn’t ping the box.

And couldn’t get this site to come up in a browser.

This site’s hosted at SliceHost on a nice beefy ...

Entry published June 3, 2009. Read full entry.

PyCon ORM panel liveblog

I’m sitting about five rows back in the ballroom at the Hyatt, waiting for the ORM panel to begin.

Panel’s starting. Moderator Alex Gaynor introduces himself and panelists:

First question: brief history of your ORM

SQLALchemy: wanted to do a CMS, but never ended up writing it. Had idea for a modular library to talk to databases, different bits you could use or not use — connection pooling, SQL expressions, ORM — as you liked. Background ...

Entry published March 28, 2009. Read full entry.


For anyone who missed it: I gave a lightning talk during the morning session here at PyCon today, following up on my earlier questions about distributed version control. Slides are available as a PDF.

Next up: attempting to live-blog the ORM panel.

Entry published March 28, 2009. Read full entry.

Django 2.0

So apparently some folks doing business as “Vyper Logix Corp” are peddling a thing they call “Django 2.0”. I’m not going to link it here since they don’t deserve the Google bump, but if you’re interested you can follow the link in Jannis’ tweet where he mentioned it. In fact, with any luck my Google juice will pop this article up above them.

Django 2.0” is, apparently, built on the Django 0.96.2 codebase, which is rather interesting since that means it could be missing:

Entry published January 18, 2009. Read full entry.

Second editions galore

Adrian announced today that he’s working on revising The Definitive Guide to Django to produce a second edition that covers Django 1.0, which is awesome news for anyone who’s used the book as a guide to learning Django.

In the same vein, I’d like to announce something that’s been unofficially mentioned a couple times but never fully clarified: I’m busy working on the second edition of Practical Django Projects, which will also cover Django 1.0 (and maybe a feature or two from Django 1.1, depending on how the ...

Entry published January 9, 2009. Read full entry.

Oldest files meme

Doug Hellmann has brought a meme to my attention, and I’d be remiss in my duties if I didn’t act upon it.

Here’s how it’s supposed to work. Save a copy of this Python script, say as a file named oldest.py:

#!/usr/bin/env python
"""Print last-modified times of files beneath '.', oldest first."""
import os, os.path, time
paths = ( os.path.join(b,f)
                    for (b,ds,fs) in os.walk('.')
                    for f in fs )
for mtime, path in sorted( (os.lstat(p).st_mtime, p ...

Entry published January 3, 2009. Read full entry.