Our Blog

Ongoing observations by End Point people

DjangoCon 2009: Portland, Ponies, and Presentations

By Adam Vollrath · Wednesday, November 4, 2009

Tags: conference, django, python

I attended DjangoCon this year for the first time, and found it very informative and enjoyable. I hoped to round out my knowledge of the state of the Django art, and the conference atmosphere made that easy to do.


Avi Bryant's opening keynote was on the state of web application development, and what Django must do to remain relevant. In the past, web application frameworks did things in certain ways due to the constraints of CGI. Now they're structured around relational databases. In the future, they'll be arranged around Ajax and other asynchronous patterns to deliver just content to browsers, not presentation. To wit, "HTML templates should die", meaning we'll see more Gmail-style browser applications where the HTML and CSS is the same for each user, and JavaScript fetches all content and provides all functionality. During Q&A, he clarified that most of what he said applies to web applications, not content-driven sites which must be SEO-friendly and so arranged much differently. Many of these themes were serendipitously also in Jacob Kaplan-Moss' "Snakes on the Web" talk, which he gave at PyCon Argentina the same week as DjangoCon.

Ian Bicking's keynote was on open-source as a philosophy; very abstract and philosophical but also interesting. It has been described as “a free software programmer’s midlife crisis”. Frank Wiles of Revolution Systems gave a barn-burner talk on how Django converted him from Perl to Python, followed by another on Postgres optimization. The latter reflected a theme that all web developers are now expected to do Operations as well, with several talks devoted to simple systems administration concepts.


While working on Django projects we've been doing this year, I've been watching developments around deployment of Python web applications, particularly with Apache. The overwhelming consensus: Without active development, mod_python is going the way of the dodo. Although WSGI is architecturally similar to CGI, the performance difference can be striking. mod_wsgi's daemon mode running as a separate user is more secure and flexible than mod_python processes running as the Apache user. Given mod_wsgi's momentum, it makes sense to use it and avoid mod_python for new projects.

Several other tools kept re-appearing in presenters' demonstrations. Fabric is a remote webapp deployment tool similar to Ruby's Capistrano. Python's package index, formerly named "The Cheeseshop", has been renamed PyPI, the Python Package Index. Though easy_install is the standard tool to install PyPI packages, pip is gaining momentum as its successor. VirtualEnv is a tool to create isolated Python environments, discrete from the system environment. Since the conference I've been exploring how these tools may be leveraged for our own development, and may be integrated into our DevCamps multiple-environments system.


The Eldarion folks gave three talks on Pinax, and the project came up a lot in conversations. If anything could be said to have "buzz" at the conference, this is it. Pinax is a suite of re-usable Django applications, encompassing functionality often-desired, but not common enough to be included in django.contrib. It may be compared to Drupal and Plone. Its popularity also spurred discussions on what should or should not be included in the Django core, and how all Django developers should make their apps re-usable (some of James Bennett's favorite topics).


Among others, I was fortunate to spend time with Kevin Fricovsky and the others who launched the new community site DjangoDose during the conference. DjangoDose is a spiritual successor to the now-defunct This Week in Django podcast, and was visible on many laptops in the conference room, aggregating #djangocon tweets.

That's all I have time to relate now. There was plenty more there and I look forward to following up with people & projects.