Teaching Openframeworks

Video guiding the Processing coder through the mental transformation needed to start using OpenFrameworks to create equivalent work. This class was taught with Syed Reza Ali. We will post more episodes every time we teach this GAFFTA class. So far, I have shaved my face with a straight razor, did a claymation about pointers, and took apart a McDonalds cheeseburger. I hope it makes learning programming and its dry concepts a bit wetter. Special thanks to oooShiny for advising on the materials and teaching approach.

jttoolkit to OpenFrameworks

Jttoolkit is a C++ system for Processing artists. Actually, OpenFrameworks is probably going to do a much better job at this than me, so let's all get on that boat now. And for Gabe, it was really more about the cleanly managed dependencies. Cygwin and MacPorts have been absolutely a headache for us, and for students. So I wrote this tutorial guiding you how to migrate your jttoolkit apps into openFrameworks. Be free! Be free!

kalmac camera processing

A series of 7 camera view treatments that I probably did at ITP. When I went to Fabrica, I shared my source code with Joel Gethin Lewis and he quickly understood it. Shortly after, Joel went on to work with United Visual Artists. To interact with this piece, move the mouse to tumble the 3D form being generated from the webcam image.


A game demo where the player changes the terrain by laying down blocks, then presses go and watches the avatar walk forward, bumping into walls, and eventually reaching the heart and completing the level. When I first began writing this, I was trying to create a game that introduces basic computer programming concepts to the player through architecture and symbols. I still haven't found a good network of metaphors to use -- particularly in the area of working with numbers and math and trying to make it not so mathy. This project almost became my graduate thesis. I later went on to the Icon==Function project and I failed at making those audio visual environments turing complete as well. With Teamwork, I got so wrapped up in the fun of designing a retro-esque 2D side scroller that I almost lost track of my regular school work. I hope to some day pick back up on making an accessible visual programming system.

Processing Tutorial for Flash/Lingo-ers

When I was a first year at ITP, I did a lot of social engineering in order to bring open source culture to attention. I also wished to support the efforts of some friends in another research program. I taught early releases of Processing to the students and faculty (and current faculty who were students then), and I also chose to use Processing to create a number of projects. My greatest propegandistic vessel was the "Proce55ing Workshop" (in 2002, two fives were being used in the name). My workshop was a precursor to the modern-day-ITP "drive-by seminar." I prepared a 3 hour performative coding demonstration, with a light discussion on open source. I designed my class hand-out to be not just a give-away, but something they might use more permanently. If GUI file viewing interfaces offer a user things like sort-by-date, sort-by -name, and sort-by-size, I was offering the community of Processing-incomers a reference that was sort-by-macromedia. We could reuse the knowledge the students already had and give them a fresh perspective on the debate of authorship and capitalism. By Fall Semester of 2004 (after I graduated), Processing was adopted by the NYU ITP Introduction to Computational Media course series as its primary teaching tool. My "tutorial for macromedia minds" has been translated to Japanese, and linked to by educators around the world. I am happy to have made some sort of contribution. Original Date: Saturday - Feb. 8, 2003 721 Broadway, Floor 4, Room 406 1:00 pm to 4:00 pm


JTNGSE was a graphics editing program that was half GUI, half scripting. I originally wrote it for undergraduate friends in the UCLA design department because I was sad to hear that John Maeda's awesome Design by Numbers "did not save" or "did not support color." I also saw that Processing was wonderful, but also discouraging for my peers to learn (at that time, they considered it too complicated). Basically, everyone seems to need something that integrates in a very obvious way with their software packages. This lack of easy integration is what my friends claim is holding them back from beginning to learn this sort of process. JTNGSE was one attempt. Since that time, I have come to believe that the problem is a bit more complex.

Special Thanks to Debrah Isaac for using it in her senior project, Gabe Dunne for testing.

Scribble Variations
Grad Lingo Workshop

I taught a graduate workshop in Lingo programming, in conjunction with Maria Redin's Physical computing workshop. She taught them sensors, circuitry, and EZIO programming. I taught them the basics of programming, on-screen animation, and I made myself available for a couple months to answer their emails. Some of the examples from that session were later adopted by Jennifer Steinkamp and made into an "examples" site for undergraduate students.