Seldom without a computer of some sort since graduating from the University of British Columbia in 1978, I have been a full-time Linux user since 2005, a full-time Solaris and SunOS user from 1986 through 2005, and UNIX System V user before that.

On the technical side of things, I have spent a great deal of my career as a consultant, doing data analysis and visualization; especially spatial data analysis. I have a substantial amount of related programming experience, using C, awk, Java, Python, PostgreSQL, PostGIS and lately Groovy. I'm looking at Julia with great interest. I have also built a few desktop and web-based applications, primarily in Java and lately in Grails with lots of JavaScript on the front end and PostgreSQL as my database of choice.

Aside from that, I spend a considerable amount of time writing proposals, technical reports and - of course - stuff on

Authored Content

Looking back with binoculars

Sidestep the debate on whether or not to use JSON as a configuration format and just learn how to parse it using Groovy.
bash logo on green background

Learn how to install packages on Debian-based Linux distros with the apt command, then download our cheat sheet to keep the right command at your fingertips.
Terminal command prompt on orange background

Our first attempt at Linux was just an apt-get away.
Yellow plane flying in the air, Beechcraft D17S

You never know where you will travel from your first job.
11 CDs in a U shape

Clean off your shelves by ripping your CDs and tagging them for easy playback across your home network.

Contributed Content

Person in a field of dandelions

Top authors on have new levels of access, support, and exclusive opportunities.

Celebrating Penguin Awareness Day with stories about the moment we learned about Linux.