I have been programming professionally since 2001. I have been programming for fun since the 1980s. Sadly, the oldest code I've authored that I can put my hands on is my undergraduate senior project, from 2002. Programming is a very rigid art form, and one I enjoy immensely.

My preferred setup is a FreeBSD virtual console, although Ubuntu is a reasonable fallback. Since the 1990s, I write almost everything through Vim, using a Kinesis Ergo Advantage keyboard. As I've told my students, "The tool is not as important as your literacy with it." The most important part of any tool is that that it be programmable and extensible.

Git has been my primary Version Control tool since about 2008. Before then I used either CVS or Subversion as was available.

I find programming languages fascinating. I've used over 20 different languages professionally, and at least that many more on personal projects. I'm always interested in new ways of expressing programmatic thought.

Programming Essays