Archive for the 'processing' Category



Recently I have been working with Gautam Agarwal, a neuroscientist at UC Berkeley, on a piece for the Mind Matters show next Spring at UCSF. His work is focused on understanding the relationship between spatial awareness and neural activity. He has been teaching me about his research and I have been developing data visualization tools in Processing to view and navigate through the massive data sets he is using:


OpenGL in Processing has allowed us to visualize hundred of thousands of data points, animate them, rotate them in three dimensions, and change parameters in real time. In the visualization below, color represents spatial positioning and the height of the curves represent neural activity, showing clear connections between the two variables:


We don’t yet have a vision of what this all becomes for the show, but we are developing a large cache of materials to work with.

Last Spring, avatar internet artist LaTurbo Avedon visited my Internet Tools class at SFAI. It was certainly the most unorthodox guest speaker I’ve had visit a class. Check out her intro video and then check out her projects, both of which are great.



Get that light text on a dark background with neon highlights hacker look next time you use Processing. Here’s the theme I always use:


To install on a Mac, control+click on the Processing icon, select “Show Package Contents” and replace the existing theme.txt file found at “Contents–>Resources–>Java–>modes–>java–>theme”. Then get hacking!

I also added documentation of my last two shows to the Projects page and a few photos from March on the Photo page.


Inspired by Robert Hodgin’s Introduction to Cinder, I started experimenting with animated patterns using trigonometry functions in Processing.js. The size of the circles are calculated by a single line of code which uses their x,y position and an angle variable that is incremented over time. Here’s one of them: “ellSize = sin(x*y+angle)*7 + cos(angle)*8;”. Things got pretty op-arty! Click to cycle through different patterns:


collaboration with Kyle McKinley
custom hardware and software
presented at the 2011 Maker Faire in San Mateo, May 21-22


I’ve been playing with sound reactive 3-D particle systems in Processing using OpenGL. Above is one of sketches I’ve been working on (which has way too much information for online video compression formats, hence the fuzziness). Different colored particles react to different frequency bands (audio track not included here) and orbit at different radii around the center.


Kyle and I are bringing building to the Maker Faire at the San Mateo Event Center on May 21st and 22nd. We will be part of a project called “SpaceCamp” which will focus on hacking/making and creating community spaces. The space will include a bunch of groups from around the country doing exciting projects along those lines. Our project is called building: a how to which will include a lot of our previous software projects, hands-on workshops on how we made them, and, of course, some surprises.

opMy friend Brian just started a project called Occupation-Preoccupation, which looks great:

“The United States has over 700 military bases on foreign soil in sovereign countries, where we have no declaration of war. This project seeks to gather covers by American musicians of songs that are associated by origin with each of these places.”

This spring, I’m going to try to remember how to play music and put something together for this.

Then this summer, in addition to riding my bicycle all over the place, I’ll be teaching a class called “Hacking for Artists” at UC Santa Cruz. We’ll be making digital media art projects by hacking code together from various places. It will be something of a crash course in programming for artists who want to do crazy things with computers but who don’t want to study computer science.





photo by Kally Kahn

photo by Kally Kahn

Here are some photos of people playing my video game at the exhibition at the Lab in San Francisco. And below is the Processing code for the game. It’s currently configured to run on a computer with an internal video camera and an external video camera attached via firewire. I have tested it using an iSight camera and a DV camera, both work great. I recommend running it with two mirrored screens set at 640×480. You will also need to add sounds to the Processing data folder named “good.wav” and “bad.wav”–classic video games sounds work well. See this post for instructions on playing. Have fun!

Processing Code

photo by Kally Kahn

photo by Kally Kahn

photo by Kally Kahn

photo by Kally Kahn



February 6th, 2009
inkjet print on Rives BFK


February 8th, 2009
inkjet print on Rives BFK


February 9th, 2009
inkjet print on Rives BFK


February 15th, 2009
inkjet print on Rives BFK

The above prints were also featured in the Rock Paper Scissors show last month.