I'm restless in three distinct areas of my life. Fortunately, I have three distinct blogs, each covering (more or less) one of those three aspects. So I'm making three entries at (roughly) the same time.
I'm restless in my profession. I feel almost like I have to go in a drastically-different professional direction, in order to keep any sense of freshness, of learning new things, a regular part of what I do. I don't mean a change of professions-- programming always has been, and surely always will be my passion.
But I seem to have found myself in a place where the things I do are difficult, are complex, but are not terribly challenging. Part of the problem seems to be Perl itself. Not in shortcomings of the language (per se), but in the fact that the number of places that treat it like a serious, large-scale-software-development language are few and far between. It's almost like the "fast" girl back in high school: it's fun to take out for scripts and even the occassional web-commerce app, but you don't want to be caught writing a full-on IDE like Eclipse in it.
Maybe Perl 6 will inject some life into it for me. Now, I know there are still a lot of Perl hackers out there who are way ahead of me. But I've never had any interest in obfuscated Perl, or in trying to find the most fiendishly-clever way to do something. I've been content to write clean, readable code that people find easy to use, and I find easy to maintain. It's no surprise that the majority of the open source software I've crafted has taken the form of tools for use by developers. They're generally more appreciative of factors like reliability, maintainability and clarity. More so than the average user, at least. I think there is still a great landscape of good software waiting to be written in Perl. But I'm not going to get to any of it on my current path.
Whether because of emotional fatigue over the job, or physical fatigue from external sources, I don't get as much time to spend on my OSS projects as I would like. It's probably a combination of the two, but the fact still stands. I'm such a geek, that my fantasy for if I should ever win the lottery involves buying a good home, setting up the rest of the money in funds and investments, then living off of the returns and interest for the rest of my life, writing code for any OSS project that tickles my fancy. I'd love to be contributing to either Perl 6 or Parrot, without having to choose between it and the few hobbies of my own that I try to foster.
To make matters worse, I've never really had a job that put me in a place
to work towards my true passion: language design and compilers. While at
Red Hat, I tried to convince them to let me contribute to Perl 6 in a way
similar to how they contribute to other non-kernel OSS projects. They have
people who do little more than hack on GTK+, GNOME, RPM, etc. It didn't work
out, which is just as well as I was pink-slipped within a year or so of that
proposal. I find areas like Aspect-Oriented Programming very interesting, and
I'd love to have more time to learn about virtual machine programming theory,
in particular the Parrot VM and the
Other languages are starting to lure me away, with promises of having a different class of problems to solve. I've recently been re-learning Lisp. I've been on Java for quite a while now. It truly is like programming in a straightjacket, but there's some comfort to be had in that if you look at it right. And Eclipse is just a dead-sexy environment to work in. There's a prototyping of Perl 6 being done in Haskell, and when I was sharing office space with the ex-Cygnus folks who'd been acquired by Red Hat, they often sang the praises of Standard ML. I even long to write C again, or at least settle for C++. Then there's writing: I want to write more. I have two book ideas, and a handful of article ideas. Again, like the OSS projects that lay gathering dust, I seem to lack the time to spend on them.
Something will have to change in the near future, I just don't know what or how. And the not-knowing is contributing mightily to the sense of restlessness.