I have a deep and long-standing fascination with computers. It is sort of ironic that I have only taken one formal computer science course - BASIC Programming. I really enjoy discovering new ways to control my electronic minions and automate my work.

## My Computing Philosophy

Larry Wall, the original author of the Perl programming language, stated in Programming Perl that there are three great virtues of a programmer; Laziness, Impatience, and Hubris.

1. Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don’t have to answer so many questions about it.
2. Impatience: The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to.
3. Hubris: The quality that makes you write (and maintain) programs that other people won’t want to say bad things about.

I think that I have these three all locked up. If I need to do a task more than twice, I’m going to make my computer do it for me. This strategy has led me to standardize and automate most of the menial tasks associated with teaching my courses. As a consequence, I have more time to be innovative and interact with my students more.

## Programming

I am not a program language snob; I’m not going to get into a range war over which language is the best. Computer languages are just tools - pick the one that works best to solve the problem at hand. I am proficient scripting with a few interpreted languages including AppleScript, bash, Perl, Python, and R. I am also fairly competent using SQL and know a bit of C++. Given a choice, I will usually use the command line rather than a GUI. This is probably a result of learning using DOS 3.1 and VAX on a VT100 terminal (anyone remember playing Colossal Cave?).

## Macintosh

I will be the first to admit that I am a bit of an Apple fanboy. If it runs and 1’s and 0’s, I can get my work done. I’ve worked at one time or another on VAX, Unix, Linux, DOS, and CP/M machines. It is just that I find the Macintosh operating systems to be quick, clean, and intuitive. That, and I really like having the bash command line for getting things done. I’ve owned over a dozen different Macs (starting with an old SE 30 and ending up with my current MacBook Pro. This entire website is created on that machine using Jekyll and is then pushed to DigitalOcean for building using git.

Tags: