After a great morning talk by Guido van Rossum's inspiration from and application of Django's role in Google App Engine, the crowd of 200 attendees broke into two tracks for the rest of the day.

I was able to attend a session on Satchmo, a web store built on Django that's surprisingly configurable and robust. The package ships with a number of shipping and payment models and can be configured for a wide range of sellable products (physical items with many configurations, downloadable products, et cetera). The team is currently focusing on releasing a 1.0 version with a revamped product system and a focus on a cleaner administrative interface now that the newforms-admin branch of Django was merged to trunk for 1.0.



Adrian Holovaty, BDFL of Django Adrian Holovaty, BDFL of Django

The second session I attended was on the State of Django, a talk given during lunch by two of the projects co-founders: Adrian Holovaty and Jacob Kaplan-Moss. They wound through the beginnings of Django at a small newspaper in Kansas and showed off some of the first commits and code from their internal code repository. It was a light-hearted explanation of some of the original design decisions and how the project has gotten from its humble beginnings to the mass of code checked into the project for the push to their first stable version. For those curious it breaks down like this:

About half of the code that’s gone into Django over the past three years has been contributed by someone other than a core committer. Since our last stable release, we’ve made over 4,000 code commits, fixed more than 2,000 bugs, and edited, added, or removed around 350,000 lines of code. We’ve also added 40,000 lines of new documentation, and greatly improved what was already there.



James Bennett, Django Release Manager James Bennett, Django Release Manager

The third session I attended was a talk given by Django's release manager, James Bennett, titled Reusable Applications. Django's philosophy of small, encapsulated bits of functionality that can be mixed and matched between projects are called applications. Django (and Python's) architecture encourages this sort of design methodology which James refers to as Django's "killer feature." James covered much of what he wrote in his book, Practical Django Projects (Ars review), but expanded his thoughts on best design practices, documentation driven development, and packaging.

During a snack break, the conference supporters were auctioning off a number of items for the Django Software Foundation. I was able to win an auction for a DjangoCon 2008 tshirt (which I failed to secure this morning at registration), signed by Guido van Rossum himself. It was the best-spent $80 of my life.

The fourth talk I attended was about a web site development platform composed of many, small, orthogonal Django Applications called Pinax. A report on Pinax and the social network Cloud27 written on top of the platform were published earlier this morning.

The closing session of the day was a humorous bit given by Cal Henderson, head of engineering at Flickr. The talk was titled Why I Hate Django and had the audience in stitches. Cal doesn't really hate Django as much as he claims to, and in between vignettes of cute kittens he laid out a number of suggestions that Django could adopt to increase uptake in load situations similar to those they experience at Flickr. Many of these were database related: multiple-database support (for master-master replication and more complicated configurations) and sharding. Others touched upon no standard deployment method, no schema evolution, poor SQL generation and the poor state of sessions (which are stored in the database)—Cal suggests they be replaced with signed cookies. The list of suggestions was a good one and would help Django wriggle its way into extremely high-load scenarios (Webmonkey coverage).

This sessions I missed today were David Cramer's "High Performance Django" session, the slides and information from can be found at the previous link. Also missed were Brian Rosner's talk on newforms-admin, Christian Hammond and David Trowbridge's explaination of their code review application, Reviewboard, Malcolm Tredinnick's dive into the Django object-releational mapper, and Justin Bronn's talk on the now-in-core GIS application called GeoDjango (Webmonkey coverage).

For anyone who would be interested in the above talks, all were recorded by Google and will be made available shortly (depending on your definition of "shortly") on YouTube for the world to watch. We'll keep Open Ended updated when the videos drop.



DjangoCon loot DjangoCon loot

For more photos from the event, check out my Flickr photoset of day one.