1. What’s the coolest Python application, framework or library you have discovered in 2009 ?
mr.developer has completely replaced SVN externals for me. The main advantage is that you can turn development packages on and off on the command line. That makes it easy to write a buildout that is identical to a production buildout, but that allows a developer to switch out the bit he’s working on with the current SVN version. This means that each developer only has the code he’s working on checked out, not everything in the project. Making a quick change to another package drops from being practically free to being a major time investment (check out package, activate it, rebuildout, test), which means that in a multi-developer environment you get communication rather than hacks.
It’s also being used as part of the Plone 4 release process, and I have to say it’s a lot nicer to deal with than the email-the-release-manager system. Anyone can tell at a glance what releases are needed to make the KGS and anyone can easily manipulate that list in the same way they develop, as it’s just a part of a buildout config.
2. What new programming technique did you learn in 2009 ?
Test Driven Development. Ok, it’s a bit of a cop-out answer, as we all know how to do test driven development, but this year I got good enough at it to be able to use it whenever, including rushing to meet deadlines. Once you have done enough testing in Python you forget why you found it difficult to begin with. Not only does it mean that I’m more confident with the code I’m writing as the tests are written without any prior knowledge of how the code works, but it means its easier to collaborate. While I was at Team Rubber I’d often had to design new parts of applications. Once the tests, interfaces and docs are written they can be handed off to other people. Using this pattern lots of interfaces became available for people to work against without the code necessarily being there yet.
3. What’s the name of the open source project you contributed the most in 2009 ? What did you do ?
Plone. I had the honour of being on the Framework Team for Plone 4, which meant that I have felt closer to the release process for Plone 4 than I have for any other release. I’ve represented the Plone Foundation for Google Summer of Code and their high-school programme for about 2 years now, have been a foundation member for a little less but being part of in-depth discussions about the future of the project on a regular basis has certainly brought me closer than anything else. Can’t imagine ever feeling like a core dev with the likes of Hanno and Martin committing every waking minute, though
4. What was the Python blog or website you read the most in 2009 ?
Does Planet Plone count? I really enjoy the mix there, although I wish there were more contributors, there are some very slow days. If not, that’d probably be either Chris McDonough’s plope, he posts a great mix of humour, valuable insight and blasphemy against all that we hold dear.
5. What are the three top things you want to learn in 2010 ?
- How to survive in Germany. I’m going to be moving here in 2010, and I’d like to be able to get creature comforts, such as real bread. I’m already planning what to do on Guy Fawkes’ Night.
- repoze.bfg – I want my next light-weight app to be in BFG, it looks shiny.
- Some nice new pieces of mathematics, I can feel myself getting rusty in an arts faculty. Perhaps getting really familiar with group theory.