2008 has been a very good year. I got a job at Resolver Systems where I learned a lot of exciting stuff like writing parsers, .NET and of course all things Python. It is very refreshing to deal with a complex (but not complicated, I hope!) desktop application that doesn't obey the request-response cycle of web apps. A lot of CS theory can be applied to desktop applications.
I also had the chance to spend my days (and I hope I can continue to do so!) amongst very clever people, and also to spend my lunch breaks coding cool tools for fun. Here's what I did and what I learned, in no significant order:
PySmell is the most important, and also an award winning project. It is a library that provides code completion in Vim, Emacs and TextMate, for Python. It is mature enough to use, although still under development, and could use some more polish.
Vim is my current editor of choice. I am not 100% pleased with it, but for want of something better, it's what I use. I've coded a simple plugin to add pairs of quotes etc, although I've turned it off currently.
I tried Emacs before settling on Vim, but I couldn't stand the key bindings. Elisp was also a factor that drove me away, although I learned enough of it to code another quote pairing plugin (can you spot a pattern)?
I now use Git with git-svn daily at work, and standalone at every other occasion. I have a couple of projects on Github.
Cocoa and Objective-C. Nothing to announce here, I'm afraid. I am trying to follow Stanford's iPhone class but there's not enough free time. I also wanted to help PyObjC, but other than a typo fix on the website, I didn't do much.
wxPython. I have a thing about GUI toolkits, having been exposed to the joys of Apple's Interface Builder. After too much whining, I bit the bullet and decided to sit down and actually try to use wxPython, seeing that it tries to look and behave native everywhere. Of course, I couldn't start small so my toy project is wixed, a text editor to end all text editors (it will be more useful when it can load and save files). So far wxPython is looking good, but the documentation is a bit hard to decipher. This will be one of my main projects for 2009.
I am also writing an article for PyMag and I am reviewing two books (Expert Python Programming and iPhone in Action, watch this space for more on this).
The future
So, what do I plan to do in 2009:
Wixed is going to be my major time sink next year. I have lots of ideas, and they seem to be easy to implement. Of course, Richard Stallman has solved most of the design issues for me, so I just have to reimplement Emacs in Python, rather than reinventing text editors. (People who are going to point out Editra and Peppy are missing the point :)
I also want to create something using GeoDjango. Google maps recently added geolocation for addresses in Athens (and possibly other cities in Greece as well), so I'd really like to see what I can do with it. And of course, doing Django is cool in general.
Finish up PySmell. It was a very good learning experience, I've learned a lot of things and I think that I've demonstrated that developer tools for Python aren't hard to write. I don't plan to extend PySmell forever - once I hit the 80% of the cases target, together with duck inferencing, I will call it done and start something new.
Do another talk somewhere, about something. I enjoy giving (and preparing) presentations immensely, and the PySmell lightning talk has whetted my appetite :). EuroPython 2009 is hosted in the UK, so I'm thinking of submitting a talk. I don't know what it's going to be about, but I'd really like to do something.
Of course, interesting things will show up, and I'll drop everything and follow something shiny for sure, but isn't this the joy of programming? Happy new year everybody!
This post is older than 30 days and comments have been turned off.
