I never did a retrospective but 2011 deserves one. As usual, I’m keeping my private stuff private so this article is just about my year in IT. Mine won’t be as eloquent as the others I’ve read though, English as a foreign language can be really handicapping.
I’ll start with the probably biggest revolution in my IT life: Due to circumstances I can’t remember anymore, I stumbled upon Steve Losh’s article “Coming Home to Vim” which is a great introduction to vim. Not so much in the sense of an tutorial but rather an introduction into its concepts and some basic guidance how to make it more pleasant to work with it.
Since I’ve got the vim vibe into my fingers, I feel unproductive in every editor out there (while I have to admit that SublimeText 2 is pretty promising – it might become a real contender one day as I really can’t fall in love with VimScript). How could a programmer ever live without
Due to the quirks I had with MacVim and the clipboard, I tried many other editors but I never felt at home again, even after weeks. I miss features from IDEs like PyCharm (that is incredibly sluggish on anything except Windows) or Wing (which is a joke on OS X) though; so I’m kind of always on the jump.
The next big revolution in my life was that I went all Apple. Most of my life, I hated Apple’s dumbed down products with a passion. But with Lion, Mac OS X crossed the sweet spot where it got better than the current Linux desktops (I claim that Unity is buggy as hell and virtually unusable).
The best part is that I have only one computer now, a 15’’ MacBook Pro with a SSD. My life got so much better without all that syncing.
I have to admit that I fell in love with the Apple eco system. Software like Reeder or Alfred are just a joy to use. And yeah, I’ve got an iPhone too now.
2011 was my year of Python. I was using Python much longer already but this year was a breakthrough.
One of the most important milestones was my own integration into the Python community. From one day to the another my following list exploded and sometimes I feel more at the beat of the community on Twitter than with any mailing list. I also hang out on certain IRC channels and enjoy the company.
The biggest community-related event was – of course – EuroPython 2011 in Florence, Italy. That also happened to be my first trip to Italy altogether. It was just an awesome gathering of likeminded people with super-awesome food and wine all around.
And a truly night to remember was the PyFiorentina event as I caught a great table. The wine flat rate took its tribute the next day though. :)
Can’t wait for the next one in July 2012!
In order to implement some more complicated networking glue I finally embraced Twisted. While I still barf when I see the Java-style CamelCase in method names, the quality of the product just speaks for itself. Even if RackSpace is confused.
Nowadays, Twisted also powers one of ours most important services: the authentication backend for our mail servers. It handles effortlessly many thousands of queries per minute without complaining. And the pooling of LDAP connections was truly dead simple.
Twisted also happens to have a very nice community of which I met some guys at the EP2011. I’d love to contribute to Twisted but so far it just came down to a few lame doc fixes and a fix to pydoctor, the documentation generator used. I hope 2012 will work out better.
I had to make some – mostly internal – web applications. I used Django, Flask and Pyramid for it and because I had to integrate the app into existing infrastructure, Django turned out to be more pain than asset. In fact, I spent more time integrating than doing actual work and Django’s ORM is still a joke.
So I guess I’ll do most of our future stuff in Flask and Pyramid.
Contribution to CPython
I somehow utterly failed to do any meaningful contribution to open source software since I left the Amiga. I don’t know the reason, because I always wanted – I just didn’t.
One evening, I stumbled over Python’s community workhorse Jesse Noller’s article on contributing to Python and somehow felt an itch. Libs and frameworks I use change all the time but CPython is still the major Python implementation and here to stay. N.B. I’m a PyPy fanboy – I’d love to contribute there too but I feel ashamed to even breath the same air as brainiacs like Armin Rigo. ;)
It would be a lie though, if I’d say that I read some docs, got fully motivated and started contributing. It took some time till I really got started and then it took another four months till someone actually reviewed and committed my code (a starmap method for multiprocessing and better symlink support for shutils). This someone happens to be Antoine Pitrou who also is a nice guy on IRC and gave me the motivation back to do further work on Python.
It’s my big hope that I’ll stay on course here in 2012. Getting a non-trivial patch applied and knowing that thousands of people will use your software at some point in history is a great feeling. :) My other big hope is that 2012 will be the year of Python 3 – we need some movement to get on our way.
On the less serious side…
Deus Ex: Human Revolution is hands down the best game of the year. I also played through Mass Effect 1 and 2 but Deus Ex was more fun. More intense, more atmosphere, less shit work.
That said, I had to skip Skyrim, because I simply didn’t have the time. I know how much time Morrowind sucked out of me…