Archive for January, 2008

One of the great many benefits to teaching computer programming, hands-on, with art students, in a computer lab, is that I’ve become extraordinarily adept at finding the subtlest of syntax errors with little more than a two-second glance. (Well, this may be a slight exaggeration, but nevertheless, it’s fairly close.) Semicolon? No, no, no … that should be a regular colon. You need an uppercase L on line 63; remember that the language we are programming in is case seNsITive. You’re missing an import statement for the MouseEvent class.

Perhaps one day I will be able to hire out my services as a human lexicographical analyzer and parser. I’ll just stare at a computer screen and read code from 9 to 5. It’s not too different from what I do already, and the beautiful thing about syntax errors is that they’re easy to fix once spotted. I am going to have to boost up everyone’s font size though; my optometrist doesn’t want me squinting anymore.

Flowers, with slight Pollock style

Inspired by the work of Erik Natzke, yesterday I started experimenting with generative painting effects using Processing instead of Flash. It’s far from perfect, but the results above signal that I’m at least on the right track towards world-wide acclaim as one of the greatest generative painters of my generation — a goal I’ve had since long before I wanted to be an astronaut or professional dolphin trainer.

The algorithm: My implementation is far from optimal, but it works. The basic idea is to allow random pixels from a sampled photograph “explode” with color, the trail of their trajectories determined by a variety of influencing factors like wind, gravity and the pull of an invisible magnet wandering around the canvas using exaggerated Brownian motion. It gives it a sort-of splattered-paint-Jackson-Pollock type of look, though certainly with a less organic feel in its current stage of development.

One of the most gratifying aspects of the Processing programming environment is simply how little code is required to achieve these types of effects. While Flash is certainly a more robust programming environment, the verbose coding requirements of something like Actionscript 3 make it far more cumbersome to produce these simple code-based sketches the way you could once do with Actionscript 1. That’s not to say I couldn’t easily reproduce the exact same effect I achieved above in Flash, but I probably wouldn’t have come to it in the first place if I had started out in that environment. All the extra typing is just that much of a hurdle. Rapid prototyping. Code, tweak, repeat. When it comes to simple sketches and experiments, the looser the constraints and the lower the barrier to entry, the better.

Wolfram CA 195

Is that enough exclamation points for you? A few days ago I jumped into the great wide world of Processing. I’ve been working with Flash for over 10 years, so one would assume it’d be something I would have done long ago. But alas, no, such assumptions would be grossly incorrect.

I still have absolutely no idea what I’m doing, so I just started taking 1-dimensional cellular automata and rendering them in 3D using both OPENGL and the ray-traced smoothness of P5Sunflow (which is painfully slow). Pictured above is Wolfram rule 195 colored in a gradient of powder blue.

The latest episode of that most excellent WNYC radio show, RadioLab, features former zoo director David Hancock’s dream about a new kind of zoo. A zoo without any live animals. A zoo made out of TVs.

His idea is inspired by the work of Christopher Parsons (formerly part of the BBC Natural History Unit), who once broadcasted live video imagery of animals in the wild to viewers watching screens in urban settings. A replication of the “zoo effect” without needing to keep animals in cages.

The question is this: Does it work? It reminds me of something I read a few years ago in Thomas de Zengotita’s book, Mediated, where media-saturated, TV-savvy children visit national parks to see animals like bison and elk in the wild, only to become completely bored with the whole experience in the first five minutes when they discover that the animals don’t “do anything.” After all, compared to animals on TV, animals in the wild are boring. At least for the mediated generation. And animals are typically equally as “boring” in the controlled setting of a zoo, unless the zookeepers stimulate or provoke them into action, or otherwise train them to perform ridiculously artificial feats for the amusement of human audiences. But on the Discovery Channel and Animal Planet, boring animals simply don’t exist. Instead, they’re constantly doing something new, strange and interesting. Mating rituals. Marvelously orchestrated hunts. The editors make that this is what you see, and that this is only what you see.

Can watching an animal in its natural environment on live television be equally as visceral as watching it in person in a world that happens to be simulated? Which is more vital: experiencing something live — something that is occurring “at this very moment” — or experiencing something natural? In either case, the experience is moderated by the barrier of a window. One is a piece of two-inch plexiglass. The other is an HD television and a satellite uplink.

This is mostly a ramble, but the question remains: It is now 2008. We have two years to go until 2010. Where the heck are all the flying cars?

And for that matter, where are all the automated homes with voice recognition, household helper robots, jetpacks and the other long-promised, but obviously not-so-prescient sci-fi inventions of the now long dead 1960s retro-futurist movement? The funny thing about the future is this: It never quite seems to get here.

Humans are notoriously bad at predicting the future. Moore’s Law is one of the few exceptions that seems to consistently hold. So, I’m not even sure why we try to do it, save for the psychological comfort it affords; the possibility of sleeping a little better at night when it comes to our investments on Wall St. or in pork belly futures. Computers aren’t any better at predicting the future, of course, and this, I am convinced, is because 1) computers are built and programmed by inherently faulty humans, and 2) computers don’t have any sort of intuitive sense. The first problem, I am afraid, cannot be helped. Computers rely on a finite set of discrete inputs that have been pre-determined by their designers and thus can only make predictions based on historical data sets. And since humans have already been previously noted as piss-poor soothsayers, and since the whole flow of temporal events seems to be basically just one giant nonlinear dynamical system (though quantum mechanics makes this assertion is debatable), and since the number of possible initial conditions for said nonlinear dynamical system is essentially infinite, choosing the best (small and finite) set of inputs for a predictive computer is essentially impossible. The latter issue — that having to do with intuition — however, I believe can possibly be addressed.

Now, it should be known that I have yet to hear any argument that would sway me from my conviction that the ability to predict the future is generally undesirable. Primarily because it would remove a great deal of the wonder and mystery, and hence, fun, from this experience we call life. But it seems to me that if we were going to want to predict the future, and use the aid of machines in order to do so, then creating intuitive machines would be the way to do it. Call it artificial intuition.

Personal experience has shown that intuition is highly unreliable for making long-term predictions. But it is comparatively very good at short-term predictions in problem domains where there are a high number of input variables — usually “fuzzy” ones. On the flip-side, historically-based predictions using computer models can be very reliable in the long-term, but are usually very poor when a high number of input variables renders the model too complex, or all the influencing factors can’t be pre-determined. So it seems to me that it should be possible to marry the two — long-term predictions based on few variables, and short-term predictions based on many — into one, generally more effective system. The real crux of the matter, however, is that intuition is poorly understood. How do you model that which you don’t understand? Even worse, suppose we could create this thing called “artificial intuition;” it still wouldn’t bring us one step closer to having any of those damn flying cars.

Update: Apparently someone is working on this. The artificial intuition part. Not the flying cars part.