Category: Programming

Paintings of computer code

A painting of an Oracle java API

So, I’ve decided that I want paintings of computer code hanging on my wall.

I started thinking about this last week when I saw the image above.

It’s a painting that was introduced by Oracle in a big lawsuit filed against Google. You can read about it in a great piece by Sarah Jeong, but in brief, Oracle sued Google for $9 billion. Why? They claimed Google had violated copyright by illegally using a snippet of Oracle code. Oracle argued that if you wanted to use that code legally — without violating copyright — you needed to transform it somehow, so that you could claim “fair use”. For example, you could take the code and … render it as a painting! To show what this would look like, the Oracle lawyers actually created that painting of the code seen above. (Oracle lost the argument, thankfully, though the larger question around the copyrightability of APIs is still pretty freaky; you can read more in Jeong’s piece.)

Anyway, quite apart from the legal questions at hand, I was quite taken by the idea of … having a painting of computer code hanging on my wall.

We’re surrounded by software all day long, but we don’t actually look at it, ponder it, gaze at it. Plenty of artists these days use computer code to make gorgeous art, of course. And there are many artists who’ve inverted the flow and used digital scenes for traditional art, as with the video-game paintings of my friend James Barnett (one of which I have hanging on my wall.)

But me, I also dig the idea of the code itself being the subject of a traditional art like oil painting: “Still life with Javascript.” Having that stuff hanging on your wall would — maybe? — make the code running our world an ever-so-slightly more concrete thing.

That Oracle “painting” wasn’t very aesthetically interesting; it’s just a screenshot printed on a canvas, I think. So as an experiment to weirdify it, I ran the picture through Waterlogue, an app that takes photos and transforms them into watercolor-style images:

A "waterlogue" version of the Oracle "fair use" API painting

Eerie, eh? Then I went around online and found some other examples of famous pieces of computer code, and used Waterlogue to turn them into paintings.

The results were pretty striking. Here’s a chunk of code from MS-DOS 1.1, from the section where it’s doing a sector write:

A painting of MS-DOS code doing a sector write

Here’s a little piece of the code for the original Wolfenstein game (not sure what this chunk does):

Painting of computer code from Wolfenstein

Here’s a piece of the first version of MacPaint, involved, I think, in calculating the angles of shapes:

Waterlogue 1.2.1 (66) Preset Style = Blotted Format = 6" (Medium) Format Margin = None Format Border = Straight Drawing = Fountain Pen Drawing Weight = Heavy Drawing Detail = Low Paint = Rich Color Paint Lightness = Medium Paint Intensity = Normal Water = Cherenkov Blue Water Edges = Blurry Water Bleed = Minimal Brush = Coarse Detail Brush Focus = Everything Brush Spacing = Wide Paper = Soft Red Paper Texture = Medium Paper Shading = Light Options Faces = Enhance Faces

This is a chunk of Will Crowther’s FORTRAN from the original Colossal Cave:

Waterlogue 1.2.1 (66) Preset Style = Bold Format = 6" (Medium) Format Margin = None Format Border = Straight Drawing = #2 Pencil Drawing Weight = Heavy Drawing Detail = Medium Paint = High Contrast Paint Lightness = Medium Paint Intensity = More Water = Tap Water Water Edges = Blurry Water Bleed = Average Brush = Fine Detail Brush Focus = Everything Brush Spacing = Medium Paper = Watercolor Paper Texture = Medium Paper Shading = Medium Options Faces = Enhance Faces

The top line reads “TOTING(OBJ) = TRUE IF THE OBJ IS BEING CARRIED”, though you can’t really see it when the font is so small. I zoomed in a bit more closely on the top left corner and turned that into a painting of its own …

Closeup of watercolor-ified code from "Colossal Cave"

… which lets you see the actual language and syntax a little more clearly.

I think my conclusion here is that a painting of code would look really cool if the text were a) prettily distorted by the medium (watercolor, in this case; or simulated watercolor anyway), but b) with a font-size big enough that you could still make out the text. So what I’d really like is code painted on a canvas or perhaps seven or eight feet square. Which would be nuts but great!

Has anyone actually heard of artists doing paintings of code? I poked around online and didn’t find any, but it seems like that someone has probably done this …

Update: On Twitter, Simon Carless pointed me to these fantastic posters that Ben Fry made in which he maps out the flow of the source code for several Atari games. And: You can order them as posters! Here’s the one for the game Combat; embiggen it to grasp the detail of the work here …

Ben Fry's illustration of the source code of the Atari game Combat

Share

Today I read …

Image from the first page of "The Art of Computation" by David White Goorich, 1873

Opening illustration from “The Art of Computation”, David White Goodrich, 1873

The Art of Computation: This was an 1873 book by David White Goodrich, a “lightning calculator”, capable (by his own boast) of doing fantastic feats of mental arithmetic. In this book he details dozens of mental algorithms for adding, subtracting, multiplying and dividing figures in your head. He bemoaned the fact that students were taught tons of mathematic theory, but weren’t taught practical, everyday techniques for doing everyday sums: “Pupils who can discourse learnedly upon permutations and combinations, make labored and lamentable blunders in adding a ledger column. They know arithmetic as a science; they have not mastered it as an art.” Since this was a period long before the common use of calculating machines, the ability to quickly rattle off mental math was crucial for everyone from bankers to carpenters to grocery-store owners. It’s a fascinating record of the world decades before mechanization began to take over routine calculation. The whole book is a free PDF here via Google Books.

“To Write Better Code, Read Virginia Woolf”: An interesting piece in today’s New York Times by a programmer who did a liberal-arts BA and only later became a coder. He argues that of the programmers he’s worked with, some of the most useful problem-solvers had liberal-arts degrees. For example, at one point his team was working on a project and had a problem with pointers. “In programming language, a pointer is an object that refers to some master value stored elsewhere. This might sound straightforward, but pointers are like ghosts in the system. A single misdirected one can crash a program. Our pointer wizard was a philosophy major who had no trouble at all with the idea of a named ‘thing’ being a transient stand-in for some other unseen Thing. For a Plato man, this was mother’s milk.” For my new book on “how programmers think”, I’ve been interviewing a lot of coders. One thing that’s struck me is how frequently the very-talented ones — the ones who launched difficult, new products that were pounded on by tons of users — came from a dual background: They studied computer-science and some liberal art. A lot of them double majored in CS and something like philosophy, art, literature, or drama.

Share

Today I read …

Bicycle woodcut from 1908 Popular Mechanics

  • More proof that teenagers still prize hanging out F2F — and doing so, crucially, while away from adults. This was also the big takeaway from danah boyd’s wonderful book It’s Complicated, which is: a) kids want to spend time with each other, away from authority figures, but b) parents have created a world where that’s less possible than ever, so c) they moved it all to social media, which even they regard as a less-robust version of F2F, but still … better than nothing. <rant>These are the sensible, informed conclusions that generally come from field researchers who do in-depth, in-the-field, shoe-leather reporting, instead of engaging in the sort of lazy, deskbound chin-stroking that propels most “teens today!” punditry.</rant>
Share