On the Importance of Programming

This essay was originally published in The Stag Hunt Special Issue on Human Education .

I recently represented the company I work for at a career fair in New York City. The ranks of job-seekers were large and diverse in terms of background, age, and experience. Among the job-seekers, however, one group stood out: people in their late 20s to mid-30s who were looking to start a new career as programmers, having recently made up their minds to dramatically change paths. Here were former investment bankers applying for an entry-level programming position. By itself this is not particularly surprising: many people realize that the careers they enter right out of college are not quite what they expected and decide to switch tracks. Given increasing demand for programming and computer science-related jobs, it is natural that many turn to explore this field.

This group of people, however, had something much more intriguing in common. When asked about their first ventures into programming, many people used phrases such as “I never knew it was so easy…” or “it really surprised me that…”. Here were bright, curious people, most of whom had done reasonably well in their past lives, accidentally catching glimpses of how some very simple programs work and being taken completely off-guard by it. These people were so intrigued by the world of programming that they could not help but dive deeper into the rabbit hole. A common path was an intensive program taken over the course of a few weeks (General Assembly was a popular option) and then a full plunge into the world of entry-level job hunting.

This leads to a very important question: why had these people never been exposed to something with so much utility and transformative potential throughout the many years they had spent in the education system?

read more

Why You Should Use Class Enums in C++

This post was originally published on Admiral Ackbar’s Code Emporium .

This is a brief post about what class enums are in C++, and why you should use them.

The Problem: Enums Pollute Global Scope

Here’s a conflict you might get when using enums:

enum computer_state { ON = 0 , OFF, STANDBY };
enum disco_ball     { OFF = 0, ON };

int state = ON; //CONFLICT - this won't compile

read more

How to Have Multiple Versions of C++ OpenCV Side by Side

This post was originally published on Admiral Ackbar’s Code Emporium .

This tutorial will show you how you can have different versions of the same library side by side such that it’s easy to change which version your code uses.

For example, I work a lot with OpenCV, the computer vision library. I like to be able to try out different features in the trunk version of the library, but prefer to use a stable release in production settings. It’s actually pretty easy to have both versions on your computer, and select which one you’d like to use at compile time.

The following assumes you’re on a Linux machine. I’ll use OpenCV as an example, but the concept applies to any library.

read more

Rafting Tatshenshini

Beyond cell phone range,
bears walk where few people go
and adventure calls.

The Tatshenshini river flows through Yukon and British Columbia, where it joins the Alsek river and ultimately makes its way to the Pacific Ocean via Alaska. It flows through Glacier Bay National Park, BC Tatshenshini Provincial Park, Kluane National Park and Yukon Game Preserve, which apparently form the largest non-polar ice field in the world (source).

I just got back from an excellent rafting trip on it, and I’d love to share some photos and a video of the experience.

read more

Two Weeks in Japan

Two Weeks in Japan

In November 2012, I presented a paper on the uses of consumer RGB-D devices such as the Microsoft Kinect for computer vision research at the Advances in Depth Image Analysis and Applications - WDIA 2012 conference in Tsukuba, Japan… and then took the opportunity to travel around the country for a couple of extra weeks.

It was a great experience - Japan is a beautiful, unique place. Some of my favorite photos from the trip follow.

A wedding in Tokyo
A wedding in Tokyo

read more