2009 Python Meme

This Python meme was started by Tarek and it sounded thought provoking so I thought I'd join in...

What’s the coolest Python application, framework or library you have discovered in 2009?

I have to say that the Python libraries that changed my day-to-day workflow for me has to be pip and virtualenv. I started using them exclusively when I migrated my MacBook Pro to Snow Leopard, and at the same time reinstalled all the libraries on my Mac. It was then that I decided to use virtualenvs for all my projects, and pip inside each virtualenv to manage package installation and requirements tracking.

What new programming technique did you learn in 2009?

Not one technique, but many advanced Python techniques I learned from Marty Alchin's book, Pro Django. Since reading chapter 2, I have understood more of Django's underlying code than previously, resulting in better code in my projects. Things like how Django models use metaclasses to make the syntax for defining models nice and clean, to using type to create Django form factories. Simply learning advanced Python techniques has improved the quality and elegance of my code in general.

What’s the name of the open source project you contributed the most in 2009? What did you do?

By far the code I contributed to the most was the 0.8 release of the Django Debug Toolbar. Myself, along with Idan Gazit, worked hard on adding polish to the toolbar user interface, along with adding some new features. There is a lot more to do, but it's a long way from the 0.7 release that preceded it.

What was the Python blog or website you read the most in 2009?

I don't follow any one blog or website... instead I either follow Python or Django people on Twitter or subscribe to their RSS feeds. I find a lot of interesting bits via the RSS feeds of Delicious links of various people as well. In effect, Twitter and Delicious are my Python blogs.

What are the three top things you want to learn in 2010?

  1. Fabric. At work it is fast becoming a priority for easy, automated deployments. I've been following the work of Jeff Forcier on Fabric and will happily dive into learning it as soon as a few things are cleared off my plate.

  2. NoSQL. There are many interesting projects around "No SQL" databases... projects like CouchDB, MongoDB, or Cassandra. I hope to experiment a little with these, test the waters, and build a project with one.

  3. Various other cool tricks and projects that I discover along the way, and bits I should dive into more deeply, like OAuth, OpenID, Postgresql optimization, RESTful APIs, mobile application development, etc. So much to learn and so little time.

About this entry

Date Posted:
December 30th 2009 at 9:12:22 PM

Tagged:
2009, python

Previous Entry:
Using Vim and Snipmate with Django