Friday, November 13, 2015

Battle Map Explorer

Unfortunately the Kickstarter project I created did not get funded. Here is what the funding graph looked like: Today I released an open source project based on the idea used in the Kickstarter project:

Wednesday, November 11, 2015

cmix v8

I have released a new version of cmix. I have also migrated the code from a private Bitbucket repository to a public GitHub repository:

Saturday, April 25, 2015

Baka Analytics

I have a pet hamster named Baka. Baka spends most of his free time running on a hamster wheel. I put together a device to track the hamster wheel's rotation. It uses a Raspberry Pi 2, a magnetic sensor, and Google Analytics. Here is a webpage with live coverage of Baka's running: He tends to run about 6 kilometers per day (13,000 rotations) and sticks to a strict schedule of running between 10pm and 6am.

Sunday, March 01, 2015


I have been attempting to do aerial photography with a GoPro. My first attempt was using a quadcopter (Parrot AR.Drone):

Unfortunately the GoPro was too heavy for the quadcopter and it kept crashing. I tried two types of mounts for the camera: one on top (pictured above) and one suspended underneath the quadcopter using string. Mounting on top was more stable, but the quadcopter still occasionally crashed so it was too risky to attempt flying high altitudes.

One of my coworkers told me about a way to mount a camera to a kite using a device called a Picavet. I constructed my own Picavet using two wooden rulers and some carabiners:

It works great!

Wednesday, February 04, 2015

cmix v7

I just released cmix v7. I spent a long time fixing a bug which caused cmix v6 to crash in Windows. For v7 I focused on improving image compression.

Thursday, December 04, 2014

Geometric Median

During a meeting with some coworkers we started debating if it was possible to find a better meeting location. Given the starting location of all the meeting participants, could we find a point which minimizes the total travel distance?

It turns out that it is not trivial to solve. The average of the participant locations is not necessarily the optimal point. The actual optimal point is called the geometric median.

I made a HTML5 page which visualizes the geometric median, along with the convex cost function: