I recently re-read Jeff Atwood’s post about sharpening your saw. It has me thinking about my personal work habits and my toolkit. I’m going to be writing about parts of my workflow from time to time, and exploring options. Today, the saw in question is emacs.
I started using emacs about six months ago, and it’s gotten to the point where I can’t imagine getting programming work done without it. I didn’t realize how much time I was using moving my hands around until I started using a program that’s got a monomania about keeping your fingers near the home keys. At this point I have an unconditional love for emacs and I plan to be using it for the rest of my life as a Computer Person. Steve Yegge can tell you at great length why emacs is so great, but the main thing that makes me happy is this: I can grow with emacs. Right now, I’m getting some pretty good mileage out of it. As I get better at the craft, I’ll be able to get even more out of emacs - and because it embeds one of the best domain languages out there, the upper limit of how much I can get out of emacs is so far away it might as well be measured in light years. The local maximum of efficiency with emacs is a very, very big peak - and because getting there requires that I actively optimize emacs to myself, it’s a peak unique to me, which makes it all the higher.
One symptom of this is that it’s gotten into my life in a variety of ways. I try to control Firefox by emacs keystrokes sometimes and I have to stop myself. It has definitely heightened my tendency to do everything from my keyboard instead of reaching for the mouse (my intermittent wrist issues only encourage this pattern). That’s definitely an interesting phenomenon when a tool produces it, and it’s worth looking into further.
One of the most important things to remember about this saw-sharpening, though, is that it’s about your saw. Professionals in a given field tend to converge around a constellation of tools, but each has their own favorite for their own reason. So if you’re reading this, that means you - and that means that you have an obligation not to stick with a tool that’s not well-suited to you.
Finally, as long as we’re talking about straight text editors, I’m going to encourage those of you who do work in Windows towards Notepad++. It’s just the best notepad replacement you can get in Windows. Even if you only use it for syntax highlighting, tabbed multiple-file handling, and regular expression searching, it is a beautiful shining gift from the open-source world and will make your life better.