New year’s Python meme
1. What’s the coolest Python application, framework or library you have discovered in 2009?
BFG. It’s a minimal web framework that still does things the way that feels natural from me. This is because the authors are all ex Zope-programmers and therefore have learned from Zopes mistakes. I hope to be able to do a BFG project also using a lot of Grok technologies in the future. That would be cool, and maybe it would make web development fun again.
2. What new programming technique did you learn in 2009?
Once I’ve learnt something, I feel like I always knew it. I have no idea what I learned in 2009, specifically, except how zope.interfaces metaclass hack works. It’s one of those tricks that once the penny drops you start laughing out loud, because it’s just way too nasty and clever. In short, the implements() method will hack a __metaclass__ variable into the namespace during the execution of the class body, which will cause the class construction to use that metaclass, except that the metaclass’s class constructor will actually return the standard class, but only after setting a bunch of variables on it. I guess that can count as a technique. Or butt ugly hack, depending on your view of such things.
3. What’s the name of the open source project you contributed the most in 2009 ? What did you do?
Well, Distribute came out with a Python 3 port. It was largely done by Martin v Löwis, who went through my changes in my Setuptools port one by one, and made sure they made sense, improved them and added more fixes. So the Python 3 port I did for Setuptools ended up being a decent contribution to Distribute. I also added much of the support for automatically running 2to3 on install. As Setuptools/Distribute is very popular, it has been one of the big stumbling blocks for Python 3 migration, so that was a biggie. And it wasn’t easy either. Complicated project, Setuptools.
4. What was the Python blog or website you read the most in 2009?
Well, I read my own posts several times before posting… oh, that doesn’t count? Hmmm. I’ll have to say “Planet Python” then. I do read it in an RSS reader, of course. I have no idea which specific blog there I read most.
5. What are the three top things you want to learn in 2010?
- Understanding the Abstract Syntax Tree, so I can write fixers without doing it mostly by trial and error.
- LaTeX, as I’ll plan to self-publish a book about Porting to Python 3.
- Everything else.