Lately I’ve been exploring more of the “literary” side of being a technologist.
Literary: I heard it described that way by someone else (maybe it was Steve Yegge in one of his posts about Emacs?) a few years ago. The idea is that if you move from the typical GUI work that a Windows administrator / programmer does, to using more command-line tools and keyboard shortcuts, you develop a closer relationship with things like code, text, commands, functions, keyboard shortcuts, scripts, etc… And that this creates a deeper bond in your thought process.
I wrote recently about how I’ve finally gotten to a point with Emacs where I can use it and feel pretty productive, and can use it to solve certain text manipulation problems that would be very difficult to solve another way. It’s a great tool because it’s one that you can invest time in deepening your knowledge of on an as-needed basis, and you can be sure that every minute spent doing that will payoff in either improved productivity or improved understanding of an important aspect of technology at some point in the future.
Similarly, I’ve been rounding out my knowledge of various scripting tools and (having recently bought my first Mac) getting a deeper education in the innards of Mac systems (by reading some books about the Unix innards, not just the Mac stuff on top of the Unix). And I’ve been finding increasing uses for PowerShell in my work as a Microsoft guy – so much so that I now believe anyone doing programming or administration of any sort on a Microsoft system is really holding themselves back if they don’t make a lot of use of PowerShell. Yes, it’s that useful – and in many ways does Unix better than Unix does Unix.
But back to Emacs. Now I’m learning org-mode. It’s not going to replace my use of Remember the Milk, Outlook, Evernote, Basecamp, or any of the other organizational tools I use. But having a mature and lightweight (read that: text-based) organizational system can really come in handy when you need to operate in project planning mode and all you have available is a text editor. Yes, Emacs puts a lot of nice functionality on top of that text file. But that file can also be tweaked even when you don’t have anything fancier than a basic text editor available.
It’s all part of embracing some of those nifty Unix ideas of data portability, transparency, etc… And embracing those ideas, I think, will also make me a better Windows programmer.