Eight Missing Projects of the Maker Generation is an essay I wrote for Garnet Hertz's wonderful Critical Making publication. (2013)

Common Errors in Conceptualizing Media Artworks is an only somewhat tongue-in-cheek cheat sheet that I wrote for my interactive art classes, to help think about the difference between cognitive and experiential interfaces. (2012)

Arduino Fever, the very first article on Arduino for Make Magazine, about a small micrcontroller that really caught on... (2007)

Throw your Voice, in Make Magazine volume 04, describes how to build an electronic circuit that turns your cell phone into an anonymous megaphone. The article, and the megaphone hack itself, were chosen for display in the Cooper-Hewitt / Smithsonian Triennial of American Design, titled "Design Life Now". (2005)

Diane Landry and the Poetics of Harper's Ferry is a catalogue essay for her work Les s├ędentaires clandestins at Expression in Saint-Hyacinthe, Qc. (2004)

Diana Burgoyne: Gesture and the Handmade is a interpretive essay for her performance work "he Transmits, She Receives" at the Surrey Art Gallery (2004).


Some of the code I have written has found wider use than in my sculptures or the classroom. Feel free to copy, distrubute, hack and repurpose the following:

Arduino2Max is a simple package that turns an Arduino into a sensor interface for MAX/MSP. This was written for a my students at Simon Fraser University to use, but has since found wide use as a simple way to get analog sensor data into MAX. (Thanks also to Seejay James and Thomas Ouellet Fredericks for their contributions). (circa 2007)

Ping2Max is a package for MAX/MSP that allows you to read data in MAX from up to a dozen inexpensive ultrasonic "Ping" sensors attached to one Arduino. I wrote the Max side to work with the existing newPing library and example code by Tim Eckel, which you need to install before running the Max patch. (circa 2014)

Animatics Motor functions for Arduino: as the name suggests, this Arduino sketch contains a number of handy functions for controlling the amazing Animatics servo motors. The functions included allow you to get the motor's current location, tell it to move to exact positions and report pin states, among others. (circa 2008)

The Glocal camera trigger was a piece of hardware I designed for the eponymous art group. It goes inside an Altoids tin and creates camera shutter "presses" from various stimuli. Glocal Camera Tirgger V_08 triggers based on sound and time intervals, while Glocal Camera Trigger V_09 triggers your camera based on tilt, rotation, movement, shaking, darkness and light. (circa 2008)

(Note that I don't provide support for any of this code.)