Trying out new technologies
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
embedding. Now (begin December) reinout.vanrees.org uses some external
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
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!