Regularly trying out new technologies is essential for programmers. Knowledge becomes stale. The technology landscape changes all the time.
I got a question last week “how do you keep your knowledge up to date” just as I was re-reading the great the pragmatic programmer book. And there’s one tip from that book that I haven’t done yet in all those years: learn one new language per year. I kept thinking about that and decided to make a list of new things I tried out this year.
Distributed version control. I tried bzr earlier and this year I tried out mercurial (hg) and git. I even added git support to zest.releaser. And I started using hg for some personal projects. I’m debating a change back to bzr for my personal stuff because of easier handling of the “centralized” subversion-like workflow in bzr. Anyway: lots of experimenting and trying-out so that I know what these kind of systems can do.
Buildbot! I spend some quality time earlier this year setting up automated testing. Looking at the test setup of all our internal projects and making sure everything ended up in tip-top shape.
Grok. Coming from Plone early this year, I now work full-time with grok. A different python web framework, so that was a pretty big change.
Wordpress. PHP. A volunteer website project, which was already set up with wordpress. I support it, so I had to look at PHP again after not using it for 8 years.
And there are always small things you suddenly have to look into:
Setuptools-related: collective.eggproxy (pypi caching), zc.buildout addition and one fix, distribute fixes. You get a peek under the hood and learn some more about the inner workings. Useful knowledge.
Layout: I made a layout with the YUI css framework last year and
experimented with blueprint this year. And I tried out @font-face
font
embedding. Now (begin December) reinout.vanrees.org uses some external
javascript for font embedding, but I’m going to put it directly into my css
once I picked a decent font.
A new personal non-plone website meant figuring out Sphinx and making custom restructuredtext statements. And looking better at deliverance (and for another website, at xdv).
Wishlist items I want to check out:
Jquery. I’m too stuck in regular html webpages by default. I almost do too much on the server side. The last time I touched javascript directly is a few years ago! So getting up to speed with jquery effectively means I learn another programming language :-)
Making good mobile web interfaces (read: toying with my iphone).
Trying out BFG for a small project. Another minimalistic web framework. Broaden my horizon!
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):