mathematism

Jan 28

24 Hours in NYC

Takeaways from a Django-NYC meetup and the real Jacob Kaplan-Moss

Last week I had the opportunity to travel to New York City and attend the January Django-NYC meetup as well as attend a Django course led by Jacob. After chatting with and learning from some great people, I thought I would share what I took away from the trip.

Django-NYC

The HUGE environment

First of all, holy shit. Second of all, holy shit. Django-NYC takes place at the New York office of HUGE, an interactive agency. The HUGE office is a spectacular meeting space with a ton of white paint, a shaggy carpet and big, comfy couches. The place oozes creativity.

Django 1.2

Jacob was on-hand to discuss some of the upcoming features in the next release of Django, version 1.2. The Django team has managed to get a ton of great new features into 1.2 like multi-database support, e-mail backends, and model validation, to name a few. The release is tentatively scheduled for a release in early March. For more info on what’s coming, read the release notes.

BDFL Q&A

Django-NYC closed out with a Q&A session with Jacob. Some questions posted on Google Moderator were answered. To summarize what I took away from some of the answers:

  • If you haven’t already, take a look at haystack, piston, and south (we use all of them at Discovery)
  • Python’s standard library gives us all an opportunity to learn something new every day
  • Pluggable apps will continue to be a huge part of what makes Django and its community so great
  • Look for hooks to be added to Django in the future for highly requested features, like the per-row auth hooks being introduced in Django 1.2
  • When asked what he would like to see the community doing more of, Jacob answered quickly with one word—docs

Rebar

After the meetup we headed to Rebar NYC for some excellent chats with members of the community over some tasty scotch and microbrews. In typical post-meetup fashion I learned quite a bit and met some great new developers. It was a great way to cap off the night and get set for a what was sure to be a great training session the next day.

Practical Django Skills

Refreshing format

Hosted by Holdenweb and led by Jacob, this day-long course was a refreshing departure from the typical “shut up and code” course. It was an informal, lessons learned, lecture-style class that provided insight into several key topics that would benefit Django developers at varying experience levels.

Topics covered

Although the course is geared towards Django developers, it did a great job of hitting on high-level topics that every developer should know and tools available for use. Concepts and tools included: a great primer on REST and piston; a walkthrough of schema migration and south; deployment and virtualenv, buildout, fabric; caching and varnish; various testing methodologies; and application architecture.

We’re doin’ it right

There’s a great feeling associated with attending a course led by a well-respected developer and walking away saying “we’re on the right path.” That’s exactly how I felt that night on the train ride home to DC. I felt confident walking away knowing that we’re using solid tools and implementing solid practices on a daily basis.

With that said, I wouldn’t have considered the trip successful unless I walked away with processes to improve and tools to investigate.

Things to look into

While we currently use quite a few processes and tools discussed during the course at Discovery, the following were some obvious items that we’ll be examining moving forward:

  • Browser-based testing using Windmill, Selenium
  • Load testing using Seige
  • Measuring test coverage
  • Enacting a schema migration policy
  • Alternative deployment tools like zc.buildout (although I do love me some virtualenv/pip/Fabric)
  • Continuous integration with Hudson
  • Developing caching strategies

A day of Django, a wealth of knowledge

Between the Django-NYC meetup, bar discussions and Jacob’s course, I left New York with a brain crammed full of new information and much to look forward to learning. Beyond that, I left with a renewed admiration for the community I am so fortunate to be a part of. I am consistently encouraged by the passion, dedication, and willingness to share of the Python community, and this trip was no exception.