Zac Bir

Thinking and occasionally typing as a service

Dunno if It’s Art, but I Like It

The Itch

It started innocuously enough. It started with a tweet:

I followed the link and Simon’s art made an immediate impression on me. In an instant, I knew how I might go about riffing on his designs. A long time ago, there was an app called NodeBox (and before that was DrawBot), which was made for generating programmatic art. I set about creating a simple NodeBox script to start making circles, hexagons, lines, and filling them in with various colors.

'Ugly Circles'

My first attempts were beyond ugly. Random colors do not a palette make. So, I started browsing Adobe’s Kuler for some thoughtfully composed palettes.

'Pretty Circles'

I also played with creating more lines connecting the various circle centers, varying the thickness of all the strokes, parameterizing the size of the circles, and seeding the image with larger blobs of color. Around this time, I also cleaned up the maths that situated the circles and the lines connecting them. Amazingly, the first attempts were produced via trial-and-error, and were within a few pixels of what they should have been (sad Zac forgot a lot of math since high school).

'More Lines'

Finally, as nice and complementary as the colors were, there was a richness and depth that was missing. So I applied a few Snapseed filters to give them a bit more toothsomeness.

'Toothsome Depth'

Since playing with the hexacircles, I’ve also taken a quick stab at doing something with triangles, and lollipops, inspired by several of the pieces in Simon’s Futurism set.




The Tools


This Universal iOS app is a brilliant little self-contained Python environment, complete with network access APIs for pulling in content (like the Adobe Kuler RSS feeds), and canvas and scene libraries for making drawing (and interactivity) easy. Highly recommended.

NodeBox 1

For the desktop, I use NodeBox 1. For the work I’ve done to date, it’s more than adequate. There are some discrepancies in the APIs between Pythonista and NodeBox, and I’m currently writing a bridge library to make it easier to use the same scripts in both environments.


For image filtering and processing, you can hardly go wrong with this app. There is a counterpart Mac app, but I haven’t used it yet. I understand it’s still awaiting a Retina update. For my images, I typically give them an Auto Correct, a Drama with Saturation bumped up to about 65%, and a Grunge with Saturation kept at 65%, Texture Strength at 25%, and the others tweaked until it looks good.

The Code

I’ve begun uploading the suite of scripts that generate the base images. Pull requests welcome.

The Results

And I’ve uploaded the standouts to my Flickr set.

I hope you enjoy, and I’d love to hear how folks riff off my pretty pictures.