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 https://www.opensource.com.

Authored Content

question mark in chalk

Programming languages tend to share many common traits. One great way to learn a new language is to create a familiar program. In this article, I will create a "guess the number" game by using awk to demonstrate familiar concepts.
Puzzle pieces coming together to form a computer screen

See how Julia differs from Java, Python, and Groovy to solve a food bank's real-world problem.
Old UNIX computer

Even "dead languages" can teach you a lot about programming today.
Business woman on laptop sitting in front of window

Groovy streamlines Java's syntax, making it an easy language for experienced Java coders to adopt.
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.

Contributed Content

Person in a field of dandelions

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

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