I designed and implemented everything on these projects, except where otherwise noted.

video dance project, a work in progress

  1. Screenshot 1
  2. Screenshot 2

A generative/interactive dance video that plays with the computer's perception of dance and movement.

C/C++, OpenGL, OpenCV, GLSL shaders, OpenFrameworks


a poem curiosity

  1. Come Out (excerpt) by Steve Reich
  2. Sacred Emily by Gertrude Stein

A study of human/computer interaction and aesthetics in a poetic context.

The user types while the computer attempts to interpret their words by parsing and sampling one of two poems.

Ruby, JavaScript, HTML, CSS


Camille Utterback: Aurora Organ

  1. From below
  2. Post-installation testing

An interactive lighting installation with a Ruby DMX control suite.

I implemented the control software.

Six columns of light hang in an atrium surrounded by a mezzanine with a glowing railing. When passers-by touch the railing, its color flows into the corresponding column where it plays with the light added by other users.

The lights change according to a series of algorithms that model physics and decision making. The control suite features an MVC-like architecture, a highly-readable DSL interface, and some simple graphics processing.

Ruby, DMX


Scott Gasparian: Chakratron Voting

  1. the Buddhabot, photograph by Steve Rhodes
  2. voting results

The Internet becomes karma-manifest through a four-foot-tall, glowing, fortune-dispensing Buddha.

I implemented the Web interface allowing users to vote for fortunes. Scott Gasparian built the rest.

The premise is simple: a Web interface that allows users to vote for fortunes extracted from a Magic 8-Ball. The complicating factors are that it has to interface with the Buddhabot (governed by an Atmel ATMega16), a webcam, and be easily deployable on a cheapo shared host (no Ruby support, no root access).

To meet these idiosyncratic needs, it supports a simple RESTful-ish HTTP API designed for use with curl; it has a zero-configuration webcam FTP interface; and it's written in PHP using a dead-simple SQLite backend.

PHP, SQLite


Erickson Productions: Photographic Asset Management and E-commerce

  1. screenshot of the management interface
  2. screenshot of the customer interface

A system for cataloging, managing, transforming, selling, and delivering stock photography.

I worked on this project as a subcontractor for Beezwax Datatools, Inc. I was responsible for implementing the image processing and transportation.

Upon importation into the system, several versions of a photograph are automatically created: different sizes, compression codecs, with and without watermarks. The images are then transported to the customer interface where customers can buy licenses for the photographs, and the photographs are delivered to the customer accordingly. Significant work had to be done to be able to handle the image volume given the limited memory, processing power, and bandwidth.

Ruby on Rails, MySQL, ImageMagick/RMagick


Camille Utterback: Video Installation CMS

  1. screenshot of the main screen
  2. screenshot of the details dialog

A Web interface allows librarians at the Lewis Library and Technology Center to upload children's drawings into Camille Utterback's interactive video installation Text Rain.

The system features an intuitive drag-and-drop interface comprised of two independently scrollable panes. Once librarians have uploaded images they can add text to the image, which is arranged by an algorithm written to Camille's aesthetic requirements. The system then sends the new content to the video installation using an integration server designed to dovetail with the pre-existing software with minimal modification.

Ruby on Rails, Prototype.js, Webrick, MySQL, lots of AJAX