abstractmachine

31 March, 2006

FACE Virtual Artist Lecture Series

Filed under: live, code, transatlab — Douglas Edric Stanley @ 00:24 am

Just a quick note to mention that, no, I have not dissapeared, it’s just that I’m working on two BIG PROJECTS®™ that you will hear more about at some other point. Yes, both have a lot to do with code. The real big project is of course a doctoral thesis, and that means as little of me gets around as possible. I’ll also post more soon about the two Processing libraries Stéphane Cousot and I are finishing up.

Marion Bonnefoy's point of view on the FACE lectures Douglas Edric Stanley's point of view on the FACE lectures

In the meantime, a quick reference the the exciting-event-of-the-day, i.e. a networked cross-conference between the Chicago School of the Art Institute and the Aix-en-Provence Art School. We already met the Chicago croud in Aix-en-Provence, France Cadet just got back from a trip over there, some of our students are currently visiting, and now we’re getting to work on the networked aspect from our respective huts. I’m also supposed to jump over the big lake, but I’m too busy right now, so they’ll have to settle for my pixeled mug.

So for today’s inaugural conference, my collegue Peter Sinclair discussed his work with Locus Sonus and quickly demonstrated the current streaming/sampling Pure Data patch they’re currently working on for Locus Sonus. On the Chicago end, Robb Drinkwater talked about Supercollider (love that website!), and showed us a Processing meets supercollider demo he prepared for Dorkbot

Since the Aix antenna set up shop in the Atelier Hypermedia, and since the other free translator was already talking, it was my turn to translate what was being said (oh, simultaneous? joy!).

I’m the next speaker on the list (gotta finish a research presentation for April 5th, so I was outta this round), probably on April 27th. But I’ll have to confirm that later when I have something solid. Peter Sinclair suggested that we multicast my conference with Quicktime Broadcaster, meaning that whoever wants to, will be able to listen in. I’ll be giving a brief overview of the history of the Atelier Hypermedia, how we got where we’re at, why we don’t know where we’re going, and why we try to make it look fun. If you don’t understand French, it might be one of the few occasions where you can see me speak. More on that later.

Ultimately, these crossed conferences will be followed by networked collaborative work between Aix-en-Provence and Chicago. For that, Ben Chang and I will probably be building a Hypertable in Chicago soon and see what they can do with it.

7 March, 2006

La chute

Filed under: concept — Douglas Edric Stanley @ 10:12 am

For various reasons, I was looking for Deleuze’s writings on the fall, or “la chute”, just yeasterday. It’s a concept I discovered just at the time of his death when he had thrown himself out of a window. Interresting coincidence. Suddenly I remember that I had discussed this matter on an old discussion list on Deleuze & Guattari’s work way back in the Mosaic era of the Internet (ah, I could almost shed a tear). I looked it up, and sure enough it was still there (cringe). I actually thought it was interresting, so here is the link [C’est ton chagrin idiot]. Unfortunately I hadn’t learned to keep out of flame wars back then (allow me my youth), so there’s a little whining, but that old archive generated a few ideas during the night, so I wanted to put it here — if only for myself — so as to have an easy access to it.

6 March, 2006

Processing(d*3); // Workshop

Filed under: workshop, atelier hypermedia, code — Douglas Edric Stanley @ 18:36 pm

We have just completed a week-long workshop working with Processing and 3d image creation. It was an attempt bring together the 3d and Hypermédia ateliers at the Aix-en-Provence Art School, and as far as I could tell, was pretty successful.

The original idea was that image programming is no longer easily separated into neat fields such as 2d and 3d, raster and vector, etc. While these separations are still at work, and their logics fundamental to computer generated imagery, the tools, environements, and practices tend to mix it all up in the end. As well, many signs coming from the 3d world point to an image convergence, or should I say a hybrid image — in which 2d logics are at play within the 3d image, and generate its volumes, textures, contours. Ever since we dived head first into Processing a few months back, what was previously just an hypothesis has become a subsequent realty — at least to our standards — hence the need for a workshop to explore where we can go with it.

As it turns out, we didn’t fully explore the hybrid nature of generating 3d images using vector/raster styles/logics, but we did discover a lot about 3d, and it is now more or less an acquired tool in the atelier. None of the images were fantastically pretty either, but we did avoid the typical Tron aesthetic that still seems to reign in the 3d world. Video games are slowly moving away from that aesthetic, but there is still a lot of weening needed to rip us out of Brunelleschi perspective, and I think we all need to do a lot more work to force 3d modelling into the sophistication of say, any typical hip Illustrator or Flash design. Death to realism! Long live the new flesh!

After a brief intro (yes, I read through the OpenGL Super Bible, yes I attempted a short resumé), we began with the Pushpop Code examples I posted here a few weeks back, and started tweaking it to turn it into messy 3d soup.

Workshop Image Code Example, Douglas Edric Stanley Workshop Image Code Example, Douglas Edric Stanley Workshop Image Code Example, Douglas Edric Stanley

My collegue from the Atelier 3d, Pavel Smetana, also brought in Robert Praxmarer, a Future Lab researcher and Processing-proficient lecturer in the Linz University of Art Interface Culture program. He is also currently in residence at Pavel’s CIANT lab in Prague. Once he had settled in, he proposed this 3d Grid Processing Sketch, using the traditional image of Lena as a starting point. Most of the participants used this source code as a starting point for their code experiments.

Robert Praxmarer Robert Praxmarer's Lena 3d Grid

Wednesday, Romain Raffin joined us with a series of demonstrations and simple code snippets of his own.

Romain Raffin Romain Raffin's Interpolation Sketch

Romain is a real-time rendering specialist working outside of the art world, in fact he generally renders for the French Army and Aeronautics industry. I’m usually skeptical of engineers meddling with art coding experiments — I’ve seen the “art meets science” slogan meet reality, it’s usually a funding-inspired hoax — but Romain was totally cool and guided us with a light touch. He also went back over the theory behind matrix transformations, something I hadn’t really explored enough with the students during the first semester. Those that didn’t get it, get it now. He also has a helpful PDF document on building your own Bezier Trajectories and other interpolation code. It think the basic interpolation formula — I = A(1-t) + B(t) — is permanently burned into my brain.

Romain Raffin, Nicolas Moncasi Romain Raffin's interpolation sketch

You can download several of his demo Processing sketches over at our Happy Code Farm.

Romain Raffin, Raphaël de Stael Romain Raffin, Raphaël de Stael Romain Raffin's interpolation demo Romain Raffin's Interpolation Sketch

The workshop was also a good excuse to introduce the students to the Procedural vs. Object-Oriented debate sparked by Toxi’s </Procrastination> post. We started with a pretty butterfly example, and built all sorts of object-oriented programs from there.

Papillons Object-Oriented Sketch

For example, Fabien Artal plugged in the Sonia Audio Library and made this field of reactive objects:

Fabien Artal's Processing Sketch Fabien Artal's Processing Sketch

Considering that the students are often building complex models, each with its own transforms and heirarchies, and often building hundreds of them — it seemed time to better enforce Object-Oriented philosophy in our code. It took a while, and I still haven’t found the time to build a decent course on Object-Oriented programming (let alone a course on arrays!), but everyone took to objects pretty well. Next year I’ll have to be more serious about this subject.

Sylvain Boutroue simulating Java research

Don’t get me wrong, I still believe in old skool BASIC-style procedural fiddling around, but indeed you really need Object logic when you’re building complex projects. Although, I do have to say that with Director we never really had that problem because some basic Object-Oriented principles are built into the interface itself, and allow you to program like a sloppy pig (even by hand), all the while building kick-ass monster projects. You just can’t do that in Processing. It’s difficult to scale. So I’m starting to see something of Toxi’s argument : there might indeed be something missing in the Processing environment, at least in this arena.

Nicolas Moncasi, Marie Noël Sylvain Boutroue Sylvain Boutroue's Processing Sketch Pavel Smetana

One of the nice suprises was having an outside student, Julien Pauthier, join us from Mulhouse where he studies with Jeff Guess. Jeff has been teaching code for a while and we met up recently to discuss expanding the code|art network, building collective workshops, sharing teachers+students, and exchanging code online. I have always made it a point of inviting students from other schools to participate in my workshops, whether in Aix-en-Provence or elsewhere. I also try to bring a few Aix students with me to each workshop I teach elsewhere. This works very well and has built a nice network of people working in France. Perhaps it would be interesting to enlarge that network, and connect it up to other networks working throughout Europe. There would probably even be funding for such an initiative. Perhaps some people on Processing Blogs could chime in on this idea?

Julien Pauthier

Julien Pauthier's Processing Sketch Julien Pauthier's Processing Sketch