A breadcrumb trail of project notes
Name: Three Drops

URL: flickr photo set
Description: Interactive video installation which allows you to interact with simulated water using your shadow. Completed with Scott Snibbe while working at Sona Research.
Technologies used: Custom C++ code, OpenGL for 3D graphics, OpenCV for computer vision, in-house and commercial physics simulation engines
Relevancy: Research into the molecular structure and dynamics was used to inform the interactive experience. Evaluated and selected a commercial physics engine to supplement system developed in-house. Three Drops is currently on view at the Exploratorium in San Francisco (October 25, 2006) and is featured in the October 2006 newsletter (pdf) of the Nanoscale Informal Science Education Network.
Name: Found Connections

URL: http://itp.nyu.edu/show/detail.php?project_id=425
Video: Found Connections at ITP Winter Show 2005 (.mov, 2:45)
Description: Interactive video installation which uses computer vision to track markers held by users and overlay 3D graphics which represent the social network from the ABC TV show “Lost”.
Technologies used: Visual Studio on Windows XP, custom C/C++ code combining OpenGL and the Augmented Reality Toolkit (ARToolkit) low-level library, EyeToy webcam for computer vision processing, connection via UDP network socket to Max/MSP/Jitter for audio processing.
Relevancy: Research into computer vision led to discovery and incorporation of a low-level computer vision library into a public interactive video installation. The installation was exhibited to several hundred members of the public over two days and ran without any problems/crashes or need for tweaking.
Name: Hydrobot Mark I

URL: http://www.michaelang.com/a/60/hydrobot-soaks-tonic.html
Description: Electro-mechanical robot which uses pressurized water to create amplified sound
Technologies used: Custom frame fabricated in aluminum and steel, stepper motors, modified waterproof motor enclosures, custom code running on AVR microcontroller
Relevancy: Mechanical design incorporating motors, microcontroller, pumps and sound amplification. Onsite debugging and installation experience.
Name: Slide.com server-side engineering

Description: Client/server application and connected website. I was responsible for server-side coding on the server using Linux, Python, and the asynchronous Twisted Framework as well as protocol design for communication with the Windows client.
Relevancy: Ability to design and implement production quality code used by thousands of users. Debugging and quality assurance.