Skip to main content

Projects

Algorithmic Trading in the Iowa Electronic Markets

In 2008 I built a fully automated computer program that could make (real) money on its own by trading securities in a small market called the Iowa Electronic Markets. The securities were linked to 2008 Presidential election. In 2012 I published a research paper explaining the results and details about how the system worked.

Camera-3D

Processing is a Java application popular with artists and creative technologists like myself. Processing allows users to build extensions to expand the application's features and to share those tools with the community. I built one such extension called Camera3D. My code enables users to employ various 3D algorithms with ordinary P3D processing sketches to provide viewers with an illusion of depth. The collection of techniques include anaglyphs (think red-cyan glasses), 360 Video, tools for creating content for 3D TVs, and split depth optical illusions.

ColorBlindness

I created another Processing library called ColorBlindness. This is a stripped-down fork of the Camera3D code that provides tools for simulating color blindness and performing daltonization. Included are some educational color blindness utilities to help users explore color disabilities. My library also comes with tools for picking colors that would be confusing to a color blind person. With a little bit of thought, one can use these to create something that I call "pseudoisochromatic art," or art that can only be properly experienced by a color blind person.

Traveling in Style with Google Street View

I employed a Neural Style Transfer algorithm to improve the aesthetics of Google Street View images. Google has accumulated street-level image data for much of the world but often the photos look dull because of bad lighting or weather conditions. For this project I wrote Python code to download Google Street View images using their API and re-styled them using a style transfer algorithm implemented in Python and TensorFlow. Then I did this for sequences of images to produce beautiful animated videos of Google's image data.

3D Printed Tesseract

I 3D printed a series of objects depicting a tesseract rotating in 4-dimensional space and animated them using Dragonframe. The animation and 3D prints are helpful for 3D creatures like ourselves to conceptualize higher dimensional objects.

After Effects VFX Project

I did a VFX project in After Effects for my animation class. I reverse-engineered the mechanics of a popular online video to add frames of a movie to the same movie, positioned in such a way that everything blends seamlessly. That description is poor but I don't know how else to describe the project so please have a look for yourself.

Custom Computer Keyboard

I designed and built a custom computer keyboard for a woman with cerebral palsy. Traditional keyboards are often difficult for disabled people to use. In this physical computing project, I built a keyboard using laser cut parts and an Arduino.

Mouse Tracings

A data representation project using live or recorded mouse and keyboard activity. Characteristics such as mouse position and keystrokes are manifested as colored lines and shapes. The background of my computer is created in real-time in response to user input. When I turn on my computer the background is black, but it quickly evolves into a unique visualization depicting my interaction with the computer.

Connect the Dots

I have an odd fascination with connect the dots puzzles. I have designed a bunch of these over the years and have used them for the front cover of my holiday cards and the back of my personal cards. I think they are a great way to engage people in a creative manner using something that people don't usually pay much attention to.