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

Coffee beans and a cup of coffee

See how Java differs from Python and Groovy as it's used to solve a charity's real-world problem.
Python programming language logo with question marks

Comparing how different programming languages solve the same problem is fun and instructive. Next up, Python.
Jars with food inside on a shelf

Let's use Groovy to solve a charity's distribution problem.
11 CDs in a U shape

The history of HDCD format and how I recovered lost audio on Linux.
Blue skies over the city of Paris France

Since 1998, has brought information about open source and free software to a French-speaking audience, says Benoît Sibaud.

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.