Form + Code

October 4th, 2010

The awesomely talented UCLA duo of Casey Reas (1/2 of Processing and come on, he has a 4 letter .com url. This guy is on the ball!), Chandler McWilliams (of The Barbarian Group and general art/philosophy brilliance), and the design/interactive shop LUST have teamed up to create a beautiful and expansive compendium of computational aesthetics. The book, entitled ‘Form + Code’, published by the Princeton Architectural Press, features an impressive collection of work. It is a must have for anyone finding themselves at the crossroads of art and technology. Not only is the book beautifully designed, but it is equally beautifully curated.

The book begins with a brief history of code and then showcases specific examples through the categories of repetition, transformation, parameterization, visualization and stimulation. You will likely see many examples that you recognize and hopefully, just as many which are new to you. I was happy to see ‘The Visual Thesaurus’ because it was the first website which made me see the artistic potential of code despite it being more of a reference site than an art site.

The Form + Code website is a good place to start. You can see some spreads from the book, list of contributors, and a bunch of code examples (written in Processing)… pretty much everything you need to get inspired. Also, check out the more thorough review by Rhizome.org.

The book is available from Amazon.com.

FITC SF is nigh

June 28th, 2010

It has been a while since I have done a proper 50+ minute talk. Aside from the TEDx (18 minutes) gig up in the beautiful Canadian Rockies last month, I have been conference-free for what seems like ages. The second half of this year has me speaking at two conferences. First up is FITC being held August 17th-19th at the UCSF Mission Bay Conference Center.

My talk is entitled “Practice makes perfect, so what are you practicing” and you can read the description here. I have a pretty good idea of how the talk will unfold but I will continue to work on it up until the day of the event. I will talk about my creative process a bit but on the whole, the focus will be more on showing how beneficial it can be to take an aesthetic approach to learning topics that are more traditionally left-brained.

I am looking forward to seeing my speaker friends again. I haven’t seen many of them in years. Strange to have friends you only see during times when you (and they) are distracted about an upcoming public speaking engagement.

When I was younger, elementary school through high school, I was petrified by public speaking. Even just answering a question out loud when called on by the teacher caused distress. Worse was when I had to stand in the front of the class to recite something or answer some math equations on the chalkboard. Hated being the focus and it was paralyzing.

It still gives me butterflies and more traditional stress responses like shakiness and dry mouth, but like with everything, the more I do it the more it feels natural. Also helps to have a pre-talk ritual. A cellist friend told me that she eats a banana before a public performance and that helps with the nerves. Of course, now I am known as the ‘banana guy’ to some people I met at TEDx because I carried an absurdly healthy banana in my front chest pocket on my hoodie in anticipation of my talk.

Anyhow, if you find yourself in San Francisco in August to attend FITC, I look forward to meeting you. And if you are speaking at FITC, lets get coffee/wine/lunch/dinner.

Juxtapoz Magazine

June 25th, 2010

A few weeks ago, I sat down with Alexander Tarrant and Colin Sebestyen at GAFFTA. We talked about art, scandal, nudity, succulents, magnets, clouds and Snoop Dogg. We finished up our conversation a few days later, joined by Justin Metros, over a bottle of Napa red and some beers at Hotel Bîron in Hayes Valley.

And somehow, through the alcohol haze, they managed to put together a really nice interview for Juxtapoz Magazine that spans 12 glossy pages. So to them, I say Thank You.

Check it out at your local purveyor of the magazine arts. Issue 114, the July issue, featuring a cover by Os Gêmeos.

Hello, Cinder

May 13th, 2010

As most of you know by now, I have been using a C++ framework called Cinder. It was created by Andrew Bell and The Barbarian Group. Last week, it was released to the public as an open source project.

With some help from Mike Creighton and Andrew Bell, I wrote a welcome to Cinder tutorial. It is a five chapter guide for getting started with Cinder. It highlights some of Cinder’s features and walks the reader through how to create the stippling project I posted a couple months back.

Source Code!

Included with the Cinder download are a bunch of sample projects to get you started. I haven’t been that good about releasing source code so hopefully I can make up for it now. The source for the following three projects are included in the samples folder.

Flint Ball (In the samples folder, it is called HodginParticlesRedux)

Earthquake!

Reaction Diffusion (using GLSL shaders) inspired by Toxi’s amazing work with RD

Fluid

Also, Andrew just finished porting Memo Akten’s MSAFluid library which is a rather lovely 2D fluid simulator. I used it to create a couple videos which use MSAFluid and a particle engine. Particles are deposited into the fluid and cause the fluid to move. The moving fluid then influences the movement of the particles creating a feedback loop. It ended up creating some nice examples of self-sustaining turbulence.

So there you have it. I am really excited to see Cinder out in the world. Check out the features and browse the projects in the gallery. If you have any questions or issues or compliments or suggestions, you can voice them in the forum. Happy coding!

Origins

April 6th, 2010

In 1998, I found my self on the verge of a frightening reality. I was about to graduate with a near 6-figure debt and a piece of paper certifying me as a ‘Sculptor’. And that is why I started working with computers.

I was slowly teaching myself Photoshop and Flash 3. I found the textbooks for learning these programs to be horribly boring. I recall very vividly one of the chapters in the Photoshop book directing me to draw a fuzzy selection around the fisherman in the image they provided. It was a misty vignette for a River-Runs-Through-It-inspired sentimentality, and I was bored.

Not surprisingly, I found that I was more driven and interested by the prospect of swapping heads in photos of people I knew. Eventually, swapping heads turned into adding penises. I was inspired by a friend’s personal art project. He would take a GAP or J-Crew catalogue and for a single one of the models, he would paste in a photo of the tip of a penis just peeking out the top of some smart khakis. He would then return these modified catalogues to the store and leave them in the stack for others to take.

After a few dozen heads and a few hundred penises, I decided I should start working on portfolio pieces. The work I had been doing wasn’t quite appropriate. I needed something else. I decided on creating a fake corporation and I would do some logo options and create different styles for business cards and potential websites. I played around with some fake pharmaceutical product names like “Pill-ex” and “Labrosine” and “Engorgetech”. Nothing quite felt right. Until shift-9. The ‘(’ character of the Zapf Dingbats font. The airplane icon.

The airplane changed everything. This little four-engine wonder was perfect. It would be the seed from which my fake company would grow but I still needed a name. Something related to airplanes and the internet and perhaps it should have a number in the name and hmm… What should it be?

I had always loved flying. It might be related to my father being a navigator for the U.S.Air Force and us growing up next to an Army/Air Force base. Flying was this strange thing that made my insides feel funny and my ears pop and I could finally see what the tops of clouds looked like and then we would land and I would be someplace new and exciting. Flying was fun. Until I grew to be 6′5″. Then it stopped being fun but that is a gripe for another day.

My fake company would be an airline. It would be both an airline and a specific flight, or maybe just a store that sells flight-related stuff. I recall my first logo attempts looked a lot like this.

Never content to blindly follow a fad, I chose to tweak the Helvetica ultra-light meets Helvetica black logotype formula with the addition of some Din Mittelschrift digits and the super awesome Dingbats airplane. And drop shadow! I never thought far enough ahead to understand why I had chosen ‘404′, aside from the fact that it was a number associated with a file not being found. I think the number was just in my mind so I went with it.

Skip a couple years ahead to the summer of 2001. I was thinking about making version 5 of my Flash experiments portfolio site. All of the previous versions were related to the airline theme somehow. The first couple versions of my portfolio showcased some movement experiments that were based on the visuals seen on the control tower radar screens. By the third version, I had switched to a navigation structure that was based on the seating arrangement on commercial jets. Each new project was represented by a taken seat, which unfortunately made it seem like I had nothing to show because there were a couple hundred empty seats and only a small handful of taken ones. After version 4 had been online for a long while, I decided I wanted things to take a slightly darker turn.

It was around that time I started to become fascinated by the idea of dying in a plane crash. Not to say I wanted to experience it personally. I was interested in death by flying because unlike gunshot wounds or car crashes or cancer or AIDS, the time that elapses between finding out you are likely about to die and actually dying is sickeningly long and horrifically short at the same time. Assuming the plane doesn’t run blindly into a mountainside, you are looking at a couple minutes of having to ponder just how much fire you will have to endure before the sweet release.

With a gunshot or car crash, the worst part is over before you even have a chance to think about how horrible it might be. I am generalizing of course. This little musing doesn’t take into account someone who is being held at gunpoint, or more topically, someone in a Prius. ZING!

With a degenerative disease, you have a prolonged misery but even with a worst case scenarios, you usually have at least a few days to be able to mend some relationships and say your goodbyes. In the plane about to to crash into the Pacific, you don’t even have the luxury of being able to make a phone-call. Maybe a few might get through on their cell phones but most will die with full awareness of how horrible it is going to be for relatives and loved ones to not be able to hear some final words. On a side note, I think planes should come with personal recorders in each seat so in the event of an impending crash, the passengers have a chance to save their parting message into the black box.

By the time I got around to thinking about version 5, I decided to take down version 4 and leave nothing at flight404.com until I could figure out the next steps. By now, I had established a minor reputation for doing some interesting things with Macromedia’s Flash. Upon finding a 404:file not found page at my site, numerous people asked via email what had happened to the site. “Where has flight404 gone?” and “What happened to flight404?”.

That is when I decided to base my next site on the idea of a plane catastrophe. Flight404 was going to disappear and a lot of people were going to die. The story was this:

Flight404, carrying 218 passengers and crew, has experienced what seems to be a supernatural event. At approximately 4:48 pm EST on September 6, while on route from Boston’s Logan Airport to Gatwick Airport outside London, Flight404 vanished into a clear blue sky approximately 40 miles off the coast of Newfoundland.

At a press conference held at Logan Airport, a visibly shaken member of the NTSB offered the following statement.

“As far as we can determine, the entirety of the Boeing 777, along with the seats, luggage, clothing on the passengers… basically, anything not biological, disappeared at around 27,000 feet, dropping the passengers and crew into the Atlantic.”

This new version of Flight404 was going to be a narrative. I would still post Flash experiments, but it would be intertwined with my personal search to try and find out why and how this event transpired. I began to research. I looked on eBay for people that were selling flight data recorders. Surprisingly, there were several. I ended up buying one from an ex pilot for American Airlines. He was very nice and gave me a bunch of airport maps. I asked him very odd questions like, “So… if a plane were to disappear over the Atlantic, how would Flight Control find out about it and what protocol do they follow to deal with this event,” and “If you were flying a plane nearby a plane that suddenly disappears, would you be required to divert your course and investigate?”. He didn’t give me very good answers.

Flight Recorder with water-activated sonar beacon.

Maps and approach vectors for most major airports around the world.

I had the first few bits of the story written. I would say that I was contacted by some of the family of people lost on Flight404 asking that I look into the events and try to find out what happened and if there was a government coverup. I created a few Flash sketches to add to the portfolio section of the site. These projects were also navigated to using an airplane floor-plan. I also had projects to represent the position of the pilot and first officer. I gave everyone names. I even wrote out the transcript for the cockpit voice recorder for when the black box would eventually be found, oddly not at the bottom of the Atlantic but in a field 10 miles north of Boston.

I had the homepage animation all set. After everything loaded, white dots would begin to fell from the top of the screen and when they hit the bottom of the screen, they would turn into gravestone markers. I had the first bit of the narrative written. I had a handful of projects in the portfolio section. I was ready to launch but there was a bug in my navigation that I could not figure out. I had some weird sorting issue for the projects so if I clicked on project 15D, 14D would try to load but I just couldn’t find this simple indexing error. I decided to postpone the launch. I would go to sleep and figure out the bug the next day. That was September 10th, 2001.

Two weeks later, President Bush raised the White House flag back to full mast so I decided to launch the site. I put a lot of work into this site and I wasn’t going to scrap it just because some terrorists decided to crash some planes. I put a notice on the home page indicating my feelings on the subject. I explained that I had been working on the site concept for over three months and that I had intended to launch on the 10th. I didn’t want to throw away all that hard work and start from scratch. I wanted to get on with my life.

Fairly quickly, the site made the rounds on the usual Flash forums and the comments were somewhat scathing. I was told that I was sick and that I was trying to profit from an act of terrorism. I was accused of taking advantage of an American tragedy. I was eventually interviewed by the New York Times. I got a $3000 server bill in the first month and eventually my site was shut down until I could pay off the debt.

It lasted for a few months. The storyline got more and more convoluted and I wrote myself into a decent sized hole. I quit updating after cops escorted me off a parking garage roof in downtown Boston. I had been shooting video of the planes taking off from Logan airport, which is a couple miles away. Some people on the upper floor of a nearby hotel saw me and decided I looked suspicious enough to warrant calling the police. I got annoyed. Version 6 arrived soon after.

GAFFTA: Transpose

February 23rd, 2010

I just posted some information that shows I haven’t been sitting on my ass doing nothing and not posting. I have been busy, I swear!

Here are the fruits of my last two month’s labors.

http://roberthodgin.com/gaffta-transpose/

RobertHodgin.com

January 11th, 2010

I have launched a portfolio site.

roberthodgin.com

A Single Step

December 30th, 2009

As I mentioned in the previous post, I have a hard time getting started. Much like I have a hard time committing to doing laundry. Or cooking dinner. I think about all the steps needed to successfully wash clothes or cook a 3-course meal and I get all flustered and the lazy gene kicks in. But if I stop thinking about all the necessary steps and just focus on the next logical step, the chore seems to finish itself.

I suffer in the same way with coding. I’ll think, “I really want to make a robust environment complete with weather systems and night-day cycles and wind and trees and grass and clouds and bugs and birds and valleys and…” and before I even have a chance to get started, I overwhelm myself with all that needs to be done.

(note: Any code you see will likely be pseudocode based on bits from Cinder, Processing, OpenGL, GLSL, and whatever else might strike my fancy. These posts aren’t meant to be source-code repositories. I want to talk more about my process and not my actual code. There are much smarter people out there that can explain how to code. I’d rather talk about why I code).

Vec3f point = Vec3f( 0.0f, 0.0f, 0.0f );

What could be simpler than a single point? It is a location in space. A single x, y, and z position. It helps to ground me in the void. It is something to look at. By creating a point, I am giving myself an anchor. It becomes the focus of my attention. Something infinitely small in a space that is infinitely large.

There is definitely something compelling about the single point in a void. It is a perfect representation of duality. The void represents the infinite, an expanse which has no end. The point represents the finite, a location which has no dimension. What better place to start?

I have been referring to the void as black and the point as white. I do this because of the obvious correlation to outer space. We know the universe to be mostly empty space which to our eyes comes across as black. It is generally devoid of any light. In programming, we show this by setting the red, green, and blue components to zero. I think of a point as being like a star in space. To our eyes, it is a pinpoint of white which is represented with red, green and blue values of one.

Next up: Giving this point some personality.

In the beginning…

December 29th, 2009

Void

This is how all my projects begin.

There is no red, green or blue. A complete absence of content or meaning. Anything can exist there. Any form. All possible worlds. But for now, it is the computational equivalent of nothingness.

Darkness within darkness. The gate to all mystery.

When I decided to attend art school, I was going to major in painting. I had a decent technique. I knew what paints to buy. I knew which brushes would last the longest. I would buy a large canvas, prep it with gesso, and then just sit and stare. Making that first mark was hard for me. I envied those that were able to just dive right in, seeming to know exactly where they wanted to end up. I was not like them. I wanted to plan it all out in my head before starting. As a result, I wasn’t a very good painter.

It is like the eternal void: filled with infinite possibilities.

My hesitance stems from not knowing what I want to create. When I start a new project, I occasionally have an idea in mind but far more often I simply want to create something new. I want to start down a path. I do not know where I want to go but I know that I want to go somewhere.

A good traveler has no fixed plans
and is not intent upon arriving.
A good artist lets his intuition
lead him wherever it wants.

All I need to do is place brush to canvas. The simple act of starting is enough. I need not know where I want to go. By simply going, regardless of which direction I choose, I will be well on my way. Even if I do not yet know where that destination lies.

A journey of a thousand li begins with a single step.

Next up: Taking that first step.

The quotes in this post are from the Tao Te Ching, as interpreted by either Stephen Mitchell or Jane English and Gia-fu Feng.

You have been warned

December 28th, 2009

I have been maintaining this blog since July 2005. Sometimes I post frequently, as often as once per day. Usually the frequency is closer to once per month. However, in that month there are usually several posts that were partially written and abandoned because I felt I wasn’t offering anything new. At some point I inevitably start to think, “Everyone knows this stuff so why bother writing it out.” It’s like I’m writing to tell you all that bacon tastes really good. Everyone knows that bacon tastes really good so what is the use in telling you.

Many of you have a stronger grasp on coding because you studied it in school or have just been doing it a lot longer than I. Many of you have a weaker grasp on coding because you are coming at it from a different discipline and just haven’t been doing it for very long. Some of you are only interested in source code. Some of you are only interested in viewing the outcome. Some want to know my inspirations. Some want to know about the tech. Some of you want music videos and send me links to your myspace page. To appeal equally to all of you is an impossible task.

I have decided that I will start publishing more of the abandoned posts. Hopefully, you will learn a bit more about why I do what I do, instead of just reading about what I have done. What’s the harm, right? It’s not like you can leave me mean comments. I turned those off long ago.