It’s that time of the year again, when you take a look at your life, decide what parts of it suck and then make a proclamation of change. Sure most resolutions don’t work out and resolutions probably aren’t the best way to make a lasting change in your life anyway. But even you don’t stick to your resolutions, they at least make you think about the things that need improving. Normal people might resolutions about exercise or spending wisely, but here are a few resolutions for the hacker in me:
1. I will learn to type faster
I normally type at about 35-50 words a minute depending on what I’m writing, what sort of a keyboard I’m using etc. Considering that I think much faster, typing represents a significant bottleneck in communicating my thoughts to the outside world. I’m going to learn to type faster, hopefully gettting upto about 100 words a minute over the next few months. I’d love to take a physical typing course if I could, but I’ll settle for an online course if I can find a good one.
2. I will learn to hack Emacs
If you’re a programmer typing faster will only increase your effectiveness so much. It doesn’t help to type fast if your tools get in the way. Emacs is the most powerful editor in the world with the possible exception of Vi (though I’m not convinced of that). It’s most important feature is that it is easily programmable in Lisp. The only other piece of software that comes close enough is terms of programmability is Firefox, but it’s still much harder to write a Firefox extension that it is to write some Emacs Lisp code. I’ve written a bunch of utility functions already, but I’m going to learn more, especially since I’ll be focusing on learning Lisp this year. My goal is to get to the point where I can improve the Scala emacs mode which is quite rudimentary at this point.
3. I will post to my blog more often
I think everyone should write a blog. Putting your thoughts in writing is productive and therapeutic and everyone can use a little once in a while. I’m glad to say that last year was my most focused blogging year, but I’m ready to take it further. I want to maintain a steady rate of a post at least every other day. I have just over a hundred RSS subscribers right now and I’d likely to get that number past 500 by the middle of the year.
4. I will set up an ergonomic work environment
I do most of my programming on my laptop, but I also spend a fair amount of time when I’m not coding on my Mac mini. My setup isn’t very ergonomic at all and considering how much time I spend a day in front of a computer, I’m seriously concerned about developing some form of RSI (especially since I have a family history of back and joint problems). I’d like to set up a more ergonomic workspace where I don’t actually type on my laptop if it’s not on my lap. I’m considering getting a better keyboard and hooking it up to the laptop (and using a second display) which would let me have a more comfortable position. Losing some weight wouldn’t hurt either.
5. I will actually USE version control for my files
I’ve had my files under Subversion control for the better part of last year, but I can’t say I used it properly. I’d often forget to add files and only realize it when I tried to pull my files to another machine at which points it was too late. Subversion also had a number of drawbacks (mostly branch and merge related) which meant I didn’t use it as much as I could have used a versioning system. But I’m moving to Git and I think it’s features combined with some careful usage on my pattern will let me actually use version control on my files in a useful way.
6. I will get a life
I try not to fit into the physically inept anti-social nerd stereotype. I really do, even though sometimes it’s relaxing to just the door and embrace my geekiness. But there is more to life than computers and code (belief it or not). Though I do have a great circle friends and do enjoy the occasional party, I feel there’s a lot of college life I might be missing out on. So I’m going to make an effort to be more social and try out new things next year. I don’t have anything specific in mind, but I would certainly like to go out more and meet new people. Here’s looking forward to a great 2009.