Why work for machines, when they can work for you?

3D Printing

I built and calibrated a 3D printer. Here are a few related projects:
You can see the objects I've designed and shared on my thingiverse account.

For more talk about my 3D printing hobby, check out that category on my blog.


I've had a lot of fun programming with the Xbox Kinect, which is basically a 3D depth sensor + skeleton tracking.
Ultimately I expect a similar device to become a household 3D scanner, as well as be used for gesture recognition. Right now the resolution is a little too low, and the latency a little too high.


My time teaching using MIT's Scratch imbued me with a deep respect for the power of visual blocks to empower young children to program their own games and animations.

Still a work in progress, Bloccoli allows any Blockly-compatible blocks to easily be imported into the same environment, which then renders the code into a real web page, run right in a browser iFrame.

My latest programming fix has been Node.js, and the notion that you can use Javascript anywhere, from web sites, to servers, to video games.

I've published a few modules on the npm package repository, attended NodeConf 2013, and have generally grown to really cherish the Node.js community for its diversity, creativity, and friendliness.

In fact, this site is served with Node, using domains for error handling and streams for delivering all of the content. That means you start loading the web page before the server has even read the whole first file involved.

The source code is on github here.

Resistance Probability Estimator

I made a web app for calculating probabilities in the board game The Resistance.

It's a very intense game where a couple people in the group are secretly chosen as spies, and the group has to select teams to go on missions, but the spies have the ability to secretly sabotage missions they are on.

I took the opportunity to apply some of the Bayesian statistics I'd been learning over at Udacity's Statistics 101 course, and the result is a very precise, systematic approach to the logical side of this very bluff-heavy game.

Site made by Dan Finlay 2013.