Art from code - Generator.x
Generator.x is a conference and exhibition examining the current role of software and generative strategies in art and design. [Read more...]
 
Tools & code
 

Artists and designers create their own software tools and share them with others, either in the form of code snippets that perform specific tasks or as fullblown applications. We present some of these tools here.

An interesting link just came down Tom Carden's del.icio.us feed, by way of mflux posting it on Processing.org:

The Art in Computer Programming is an article by Andrew Hunt and David Thomas, both veteran programmers with views on how programming practices can be improved. At the core of the article is the assertion that programming can be seen as an art form, and that approaches from painting etc. can be gainfully used to improve the process of coding.

Comparing programming to art is not new. Donald Knuth’s monolithic series The Art of Computer Programming establishes the connection quite firmly, even if he uses art as a measure of quality rather than as a description of an aesthetic / critical practice. Paul Graham also seizes on the analogy to painters in his book Hackers & Painters.

Apart from some slightly distasteful analogies involving military scenarios of “hitting your target”, Hunt and Thomas have some interesting points that will be recognizable to experienced coders and newbies alike. The challenge of the blank canvas and writer’s block is familiar, as is the issue of when to stop. On these points the article gives clear and useful suggestions. The issue of “Satisfying the Sponsor” is all-important to software engineers and designers, but perhaps less critical to artists.

For another interesting take on how to program, read this quote from an interview with Bram Cohen in Wired 13.01. Cohen is the genius behind the notorious yet much admired BitTorrent filesharing protocol:

“Bram will just pace around the house all day long, back and forth, in and out of the kitchen. Then he’ll suddenly go to his computer and the code just comes pouring out. And you can see by the lines on the screen that it’s clean,” Jenna says. “It’s clean code.” She pats her husband affectionately on the head: “My sweet little autistic nerd boy.” (Cohen in fact has Asperger’s syndrome, a condition on the mild end of the autism spectrum that gives him almost superhuman powers of concentration but can make it difficult for him to relate to other people.)

Final quote: “[premature] optimization is the root of all evil.” The author of this famous quote is the afore-mentioned Donald Knuth. It was mentioned in a post over on Vogon Poetry (again found through Tom C.) The post summarizes a talk by Cal Henderson on the building of Flickr, interesting reading as it describes how to create a scalable web application almost exclusively from Open Source software.

 

With its rich content and well-implemented tagging system, del.icio.us provides a tantalizing data set for would-be information visualizers. Fortunately, the open del.icio.us API allows developers full access to the functionality of the system.

To support the recently launched Processing hacks site I have written up a quick tutorial on how to access del.icio.us with Processing. The hack uses David Czarnecki’s delicious-java library. I also added a simple hack for outputting PostScript vector files.

 

This site went live while Generator.x was having a holiday, but it deserves a repost even though it’s a few weeks old:

The ever-productive gentlemen Tom Carden and Karsten Schmidt (Toxi) have launched Processinghacks, a user-contributed Wiki intended to provide the Processing community with documentation of advanced techniques.

Processinghacks nicely fills the gap left by the lack of tutorials on the Processing site, combined with the beginner focus of the built-in examples. While a lot of answers are available on the forums, they are sometimes out of date or hard to find. Processinghacks provides details on specialized techniques that are beyond the scope of the core Processing project, such as integrating Processing with Java or hacking the source code itself.

A big plus is that this effort is completely independent of Ben and Casey, which means that they can focus their energies on the core project of bringing Processing to version 1.0. For those who remember the debate brought up by Karsten a little while ago, this should set an example. Instead of just complaining about the state of things, people like Tom and Karsten are actively providing a service to the community.

Some highlights from Processinghacks:

 
Daniel Brown: Flowers

Grafitti Research Lab: LED Throwies

LED Throwies is a project from Grafitti Research Lab, a division of the EyeBeam OpenLab. It involves hooking LEDs up to a small battery and using a strong but miniature magnet to make it stick to metallic surfaces. As the name suggests, the typical mode of application is simply to throw them at the target.

“Throwie” is a reference to graffiti “throwups”, quick and dirty pieces usually done with a single layer of paint and an outline. The LED Throwies could point the way to a new form of urban street art, adding color and magic to the hood. Look at the video on the Grafitti Research Lab site for a nice preview of a Throwie “party”.

There are no detailed credits on the Grafitti Research Lab page, but there is reason to believe that Evan Roth aka fi5e (who created the Grafitti Analysis piece) is involved somehow. Since the OpenLab is dedicated to public domain R&D, there is a publicly available detailed recipe published on instructables.com.

More images on flickr/tags/ledthrowies.

 

Toxi aka Karsten Schmidt has been playing productive troublemaker the last few days, blogging some loose thoughts about what kind of tools and ideas are needed for a productive evolution of the computational design field. To roughly summarize: He is critical of the current state of the generative / computational scene, and the tools that are being hyped. Among his criticisms is that the work that is currently popular in the scene is often focused on immediate gratification, duplicating already existing work. It also often found lacking in niceties like software design, or even a more general understanding of good coding practices.

Karsten used Processing as the basis of his statements, pointing out that the procedural syntax of Processing could educate lazy coders and ultimately a dead-end for serious users of the tool. Not surprisingly, this has caused an explosive (but not incendiary) discussion over on the Processing forums. Ultimately, the discussion deals with the theoretical foundation for a tool like Processing, but also with possible future directions for the project. It’s on the techy side, but relevant for anyone who fancies her/himself a coder or who wants to understand what makes a programming language/tool capable of maximum freedom of expression.

Be sure to also read Karsten's followup where he clarifies his position after some misunderstandings.

 

The concept of the artist software work camp is spreading. Piksel in Bergen has been a hit with the live visuals performers and developers, now the French city of Poitiers is host to Make Art 2006 later this month. The event is organized by the Goto 10 collective, who describe Make Art as a “festival dedicated to the integration of “free and open source” software in electronic art”.

This is an event for and by people who make stuff as well as talk about it, so expect a hands-on approach. The schedule includes a Pure Data workshop, an exhibition and a program of lectures and software presentations. Most of the tools presented tend towards applications in sound or community building.

Now what is needed is for someone to organize an open source work camp for the visual people, rallying the Processing, VVVV and Open Source Flash communities. Any takers?

 

Halfshag’s pixelArt tool must be heaven for Eboy wannabes. Isometric pixel graphics might be oh-so-2002, but this tool gets big kudos for its cool architectural styling, more futuristic Modernist than retro Atari.

PixelArt is developed in Flash, by halfshag aka Richard Simpkins, a London-based Actionscript developer & designer. The tool itself is easy to use. Blocks are selected from a pre-existing library, and can then be dragged around the grid and placed on top of each other. No particular isometric skills are required, the tool does it all for you.

There are also community functions that allow you to save your and reload your creations once you’ve registered as a user. Saved pieces will be displayed in the pixelGallery, as well as in a downloadable screensaver. The screensaver retrieves creations from the web site, and shows them locally in high resolution. It’s almost better than TV.

The images shown above are the following (left to right):

 
Falstad: 2D Vector field

Paul Falstad: 2D Vector field

Falstad: 3D Waves simulation

Paul Falstad: 3D Waves simulation

Workshops on computational design and generative art tend to start with a sense of excitement. The participants find themselves exhilarated as they discover that forms can be made to move and interact with just a few lines of code. But then a certain point is reached, where the words “trigonometry” and “vector” are mentioned. And often exhilaration turns to despair.

Regardless of whether you believe the old “right brain / left brain” clichee that creative people are bad at math and vice versa, there is a wall of knowledge that divides the scientist from the creatives. The old mistake is to think that the scientists have all the knowledge on their side, since they can to refer to physical laws and all kinds of theorems. The artists and designers are left with “soft” theories of communication and art history, much maligned by the rational scientific community. But put a physicist in charge of an advertising campaign, and you will most likely get a spectacular failure. In fact, it will be much like a nuclear reactor built by cubist painters.

Yet aesthetics is a field of knowledge, with massive amounts of empirical data to back it up. Advertising execs and industrial designers can refer to demographic studies, ergonomic principles and historical and cultural biases as to which color best expresses joy. But the artist is sometimes left with no option but to say “it is so”, without the faintest data to back her up. Still, no creative would doubt that any artist’s method is based on a mass of internalized knowledge. It’s just a shame it’s so hard to communicate.

A simple “you know stuff, too” pep-talk will never get creatives over the mathematics threshold. Some will give up, some will find unexpected resources within themselves and yet others will learn to build on work done by others. That’s where people like Paul Falstad come in handy.

Falstad has published a rich resource of Java applets demonstrating physical and mathematical principles, many of them with source code included. One can find wave simulations, vector fields, digital signal filters, magnetostatic fields and even quantum theory. And while this is still heady stuff, at least it’s in a visual form.

Another famous source is Paul Bourke. He has published papers, algorithmic how-to's and even information on common file formats. Many computational designers acknowledge a deep debt to Bourke’s work.

Want to model organic or mechanical motion? Go pay Craig Reynolds a visit, he created the classic Boids algorithm and has plenty of data and code online. This is essential reading for learning how to describe movement in terms of intention and action, rather than just as a set of changing X,Y coordinates.

The moral? There is hope. Any student who learns to google creatively will find help for even the most obscure problem.

(Via Andreas Nordenstam on BEK’s BB list.)

 
LEGO: Mindstorms NXT

LEGO: Mindstorms NXT product range

Following up on recent LEGO posts, Simen at Bengler pointed this out:

LEGO just released information about their Mindstorms NXT product line. To launch in August this year, it introduces USB and Bluetooth connectivity, a smarter Mindstorms NXT Brick and new servos and sensors to play with. There’s an ultrasound sensor for detecting barriers, a sound sensor for responding to sound commands (it even has tone recognition), as well as improved touch and light sensors. This makes a good starting point for simple physical computing.

All in all Mindstorms NXT looks like an exciting package. If the 3D rendered press images are anything to go with, this is definitely a futuristically styled update to a LEGO range popular with the over-20 demographic. There’s a "Call for NXT Great Developers" if you’re feeling lucky.

LEGO also announced that it’s sponsoring a new blog: nxtbot.com. Written by LEGO veteran Jeff James, nxtbot promises to “provide coverage of the entire spectrum of consumer and personal robotics”. Note that while nxtbot handily references the NXT name, it’s not wrapped in LEGO graphics and explicitly states that it won’t just cover LEGO products. That could mean one of two things:

  1. It’s a genuine independent blog.
  2. It’s a LEGO blog planted to leak viral marketing.

You be the judge, we’re just paranoid.

Wired News has a feature on the development of Mindstorms NXT: Geeks in Toyland. Favorite soundbite: “”Imagine Flickr for robotics.” That’s from Mindstorms Director Søren Lund.

 

Erich Berger and I will be teaching a workshop called Tangible Code at Atelier Nord (Oslo, Norway) in February. The aim of the workshop is to provide artists with tools to create new works using custom-built software and hardware. Using the open source platforms Arduino and Processing, participants will experiment with real-world use of these tools.

The workshop is free, but travel and accommodation are not provided. Apply with CV to sense (at) anart.no before January 27th. International applicants welcome. See full text of the call below.

Tangible Code follows up on the Making Sense workshop series that Erich organized last year, and is part of a new series that will take place during 2006. Atelier Nord organized the Generator.x conference, and have a commitment to provide artists with competence to create innovative works within electronic art.

Norwegian artists should also note the call for projects for Atelier Nord’s “Interface & Society” programme, deadline 16 January. Accepted projects will be part financed by Atelier Nord. Read the call for details (in Norwegian).

Full text of the call for participation:
Read the rest of this entry »