New Processing Tutorial
0 Comments Published August 31st, 2010 in Teaching, processingblog, tutorialI’ve added a new tutorial to the Processing web site about the String class and displaying text onscreen. Enjoy!
School is out for summer so I’m taking a break from teaching classes in order to teach (?!?!) workshops. I just returned from a lovely visit to Amsterdam, where I led two full-day intensive Processing workshops at Mediamatic. I also was super thrilled to present with Jer Thorp at Mediamatic’s Processing Salon. Jer’s work is fantastic and inspiring. His presentation was one of the highlights of my trip.
Next stop a 3-day advanced Processing workshop with the D3D masters students at Naba in Milan. I was lucky enough to be in Milan for the opening of Triennale’s Design of the Other Things exhibit, which included work by Massimo Banzi of Arduino fame. Also, a special thanks to Filippo Vanucci who came in as a guest presenter to talk about his ITP thesis project: Scrollables.
This month, I’ll be teaching a few sessions at ITP’s new Summer Camp (for grownups) as well as two Processing workshops at this year’s OFFF. I’ve been getting many e-mail questions regarding what exactly will be covered at the OFFF workshops so here’s a quick outline for anyone thinking of attending.
Processing Pixels, June 24, 10 am to 2 pm
- What is Processing?
- The “pixels” array
- The PImage class, loading and displaying an image
- Image Processing 101, reading and writing pixels
- Image as look-up table of colors
- The Capture object, creating a software mirror with live video
- Introduction to computer vision, color tracking, etc.
- Overview of computer vision libraries: BlobDetection, openCV, CCV/TUIO/multitouch
- Time to work and ask questions
Most Pixels Ever, June 25, 11 am to 1 pm
- What is Processing?
- What is openFrameworks?
- Examples of ITP “Big Screens” projects
- How does MPE work?
- What is MPE good for?
- Demo of MPE for Processing
- Demo of MPE for openFrameworks
- Time to work and ask questions
Box2D ContactListener in Processing
0 Comments Published February 19th, 2010 in box2d, nature of code, processing.orgAbove is a new Box2D Processing example that demonstrates two key aspects of working with Box2D:
1) Though tempting as it may be, you cannot set the location manually of an object in the Box2D world and expect the physics to continue to work. Box2D doesn’t understand teleportation (which is the equivalent of telling an object to disappear and then reappear at a different pixel). Rather, if you want to move an object manually, you can attach a joint to the object and tug it around. This way, you control its motion and yet it still lives within the world of Box2D physics. The example demonstrates how this is done with a MouseJoint. The object moves according to an perlin noise algorithm (unless the mouse is pressed in which case it follows the mouse).
2) The example also demonstrates how to use Box2D’s ContactListener to know when objects have collided. The circles turn red when they encounter the square.
It’s my intention to eventually add this example with further explanation to the Box2D tutorial.
VerletPhysics and Toxiclibs
0 Comments Published February 14th, 2010 in library, nature of code, physics, processing.org, toxiclibsBuilding off of last week’s Box2D and Processing post, I have now posted a short tutorial about the physics package in toxiclibs. The force directed graph example is a simplified version of toxi’s wonderful fidgen project.
Box2D and Processing
0 Comments Published February 8th, 2010 in box2d, library, nature of code, physics, processing.org

I’m pleased to announce I’ve published a first draft of a tutorial about using Box2D in Processing.
Tutorial: http://www.shiffman.net/teaching/nature/box2d-processing/
Google code repository: http://code.google.com/p/pbox2d/
I’m struggling here to figure out whether I’m (a) creating a Processing Box2D library or (b) simply creating a tutorial and set of examples piggybacking off of JBox2D. For now, I’m doing a little bit of both. The library is just a few helper functions, but the examples require you to dig into actual Box2D code. These examples aren’t nearly as comprehensive as what you’ll find in the JBox2D demos. It’s my goal, however, to make the material accessible and easy to use. Hopefully, with some feedback and more time, I’ll be able to publish a more sophisticated library and thorough suite of example. Who knows, maybe no one will ever need any of my previous Nature of Code tutorials any more!
Next up, I’m planning on creating a few simple examples that use the fantastic and awe-inspiring toxiclibs.
Big Screens 2009 Show Video
0 Comments Published February 5th, 2010 in ITP, big screens, iac, openframeworks, processing.orgFor anyone who missed it, here’s a video of the 2009 Big Screens show at IAC. Thanks to Lina Giraldo for editing it together, and a great group of student volunteers who did the shooting.
New Processing Books
2 Comments Published February 4th, 2010 in General, books, processing.org, publishingIt seems like every day I hear about another Processing book being published (or soon to be published). Joshua Noble’s recent book includes Processing along with openFrameworks and Arduino: Programming Interactivity: A Designer’s Guide to Processing, Arduino, and Openframeworks. Processing for Visual Artists is another new book I know little about, but am excited to check out. And I’m particularly thrilled for the upcoming Getting Started with Processing. An inexpensive, short beginner’s guide is a big gaping hole in the landscape of Processing books and this book should fill it nicely. It’s really what I imagined Learning Processing: A Beginner’s Guide to be, but the book ballooned a bit into a more comprehensive beginner textbook. Hopefully Casey and Ben’s new book can introduce a lot of new people to Processing.
Finally, Ira Greenberg’s new book The Essential Guide to Processing for Flash Developers recently came out. And if you didn’t notice, I wrote the forward! Which, strangely enough, means that my name is somehow on the cover along with Ira’s. Which is pretty crazy considering that I only wrote a few short paragraphs.
Oh and I still am working on a The Nature of Code book, with more PDF chapters to be available soon!
ITP Big Screens Show
0 Comments Published November 9th, 2009 in ITP, big screens, iac, mpe, openframeworks, processing.orgITP Turns 30!
1 Comment Published October 10th, 2009 in General, ITP, iac, itp30, mpe, processing.org, timelineITP recently celebrated its 30th anniversary with a weekend of events and activities compressing the entire ITP experience into 3 days. Saturday culminated with a gala event at IAC, celebrating the launch of the Red Burns Scholarship Fund. I worked with a group of ITP students and staff to develop content displayed on IAC’s 120 by 12 foot video wall. Everything you see below was made with Processing and the most pixels ever library.
Thanks to amazing and dedicated group who pulled all of this off (under an incredibly tight and stressful timetable): Xiaoyang Feng, Meredith Hasson, Juri Imamura, Brian Kim, Matt Parker, Jeremy Rotsztain, Tim Szetela, Carolina Vallejo, Elie Zananiri.
The videos are just slices of the original 8160×768 pixel design (as seen in the flickr screenshots). Hopefully I can find some nice images or video from the actual event to post here soon as well.
ITP 30th Anniversary Timeline Documentation from shiffman on Vimeo.
ITP 30th Anniversary Timeline Documentation from shiffman on Vimeo.
ITP 30th Anniversary Floorplan Documentation from shiffman on Vimeo.
ITP 30th Anniversary Tweets Documentation from shiffman on Vimeo.
Interview with Casey Reas and Ben Fry
2 Comments Published September 24th, 2009 in ben fry, casey reas, interview, processing.org, rhizomeYesterday, Rhizome published a short interview I conducted with Casey Reas and Ben Fry about the past, present, and future of Processing.
Search
- Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
- Processing: A Programming Handbook for Visual Designers and Artists
- Processing: Creative Coding and Computational Art (Foundation)
- Visualizing Data: Exploring and Explaining Data with the Processing Environment
- Making Things Talk: Practical Methods for Connecting Physical Objects
- Physical Computing: Sensing and Controlling the Physical World with Computers












