Preface

I’m going to issue a disclaimer before we proceed: I tried doing it the right way, I tried becoming a "real" programmer, I really did. But I failed. I started a computer science degree, but dropped out after about a year and a half. I’m sorry, but it bored me senseless.

As a young man, this career shift wasn’t entirely motivated by a need to restore the right-left hemisphere balance to my young brain; it may also have had something to do with the worry that knowing a lot about Alan Turing and C++ was probably not the best way to get a girlfriend.

My studies of early 1990s ideas of computing had so repulsed me that I made efforts to stay as far away from computers as I could for the next 10 years. For much of the 90s, I didn’t even own a computer; instead I had a guitar, an attitude, and an ill-advised haircut. I was only drawn back toward the end of the decade when the web started to take off, and a lot of creative people suddenly discovered that what they’d been doing recently with video cameras, photography, and hypertext was now being called New Media, and everyone was doing it. This rehabilitation of computing has continued unabated, to the point that today, to say you "work with computers" is about as meaningful as saying you breathe air.

At the time I dropped out, I couldn’t imagine anything worse than spending the rest of my days communing with these soulless beasts of logic and wires. But in adulthood, I discovered a new enthusiasm for computing after stumbling across a simple realization; that computers and computing were not the same thing. What hadn’t been made apparent to me during my university days was that computation is everywhere, and it can be a thing of beauty.

Computing is what a stream does as it finds its way downhill toward the ocean. It’s what the planets do as they move in their orbits. It’s what our bodies do as they maintain the balance needed to keep us upright. It’s what our DNA does as it unravels. Computing is what I’m doing now as I process these ideas and output them as text—and what your brain is doing as you read the words and form your own ideas as a result.

This is why I can say, without contradiction, that while I still find computers boring, I think computing is cool. The only place computers really come into it is in attempting to simulate these computations or creating new ones to rival those of the natural world. Which brings me to the subject in hand: generative art.

As a jobbing coder, I always dabbled with generative ideas when I could. Whenever I got my hands on a new bit of kit, the first thing I’d run would be a few fractal creations to test its limits. But I’d never taken it seriously as an art form, and I was only dimly aware of the growing movement of artists who did. But this side of the millennium, that movement was gathering pace and becoming more visible, as the tools also became increasingly powerful and accessible.

I’ve always believed that if you want to do something, the best way to go about it is to stop talking yourself out of it and just get on with it. Nothing should stop you, as long as you’re happy to work without reward. Although, as experience testifies, I’ve found that if you do something long enough and maintain an enthusiasm for it, sooner or later someone will end up offering you money for it. Or ask you to write a book about it. Admittedly, this principle may not apply to self-abuse or serial killing, but it’s certainly true of most artistic endeavors.

So, you could say the genesis of the book you’re now holding (physically or virtually) was in a project I started, in accordance with this principle, in 2008. I decided that if I was going to take generative art seriously, I’d start a generative art blog. I called it 100 Abandoned Artworks and set myself the task of producing a generative artwork every week, throwing it out there in whatever state I had got it to (hence the abandoned before real-life commitments intruded on my playtime. I included the source code, Creative Commons licensed, so anyone could take my abandoned, half-finished works and find some use in them. I pledged that I wouldn’t allow myself to stop until I reached 100. This strict, self-imposed schedule was a conscious way to force myself to reorder my priorities. I knew that somehow I found time to spend hours reading comic books and watching no end of god-awful movies, yet generative art, something I enjoyed, was the thing I never found the time for.

The discipline worked. Not only did I find the schedule easy to maintain, my enthusiasm for Processing (the tool I had chosen) keep growing. The project took me on many diversions, into print and video, and started feeding back into my day job. It was somewhere around the 50 mark that Christina Rudloff at Manning got in touch to discuss the possibility of a book.

That project is now complete, as is the book. This book is a snapshot of where I am right now, of everything I’ve learned and unlearned in my programming career up to this point. I didn’t want to write yet another Processing book—I don’t particularly like programming books, and I’ve never read one from cover to cover. I wanted to write something more inspiring, something that was about the why as much as the how.

Programming art is a different discipline than programming systems, and there should be no right or wrong way to use the powerful tools we have at our disposal. I wanted to get across how coding can be liberating and creative, not just structured and orderly, and accessible to more people than just the techies. Whether I’ve succeeded in this aim is for you to decide.