Being an Obfuscator

Programming for the sake of art

Jamis Buck
Techspiration + Ideas + Making It Happen
2 min readJun 26, 2016

--

I was doing some research this week, about computer programming as a medium for play. Specifically, I was looking into recreational obfuscation as a playground for exploration and discovery, and it was in that context that I stumbled upon this lovely quote:

“until programmers stop acting like obfuscation is morally hazardous, they’re not artists, just kids who don’t want their food to touch.” — whytheluckystiff

I can’t stop thinking about it. “They’re not artists.” Not, “they’re not professionals,” or “they’re not scientists” or even “they’re not creative enough” or “clever enough.”

They’re not artists.

I’ve never considered myself to be an artist, especially not in the sense of what I do for a living. Writing code? An artistic endeavor? And yet more than once I’ve said (and heard, and noted) that what we do as programmers is more art than science. We tend to care a great deal about the aesthetics of what we produce. We want languages that feel nice, code that looks nice, editors that won’t hurt to spend all day in, and tools that fit nicely in our hands.

The best programmers I know are all about the “art” of their craft.

So, where does obfuscation fit into that picture? It strikes me that creativity is a messy endeavor. The intermediate steps of making something are always full of odd pieces that don’t seem to belong, of tests that fail, of UI that is broken. Part of finding a good, acceptable solution involves navigating the minefield that we build for ourselves along the way, and — counterintuitively — the existence of that very minefield drives the quality of our solution up, as well.

And obfuscation? As a playground (if not a production environment), it makes for a marvelous place to experiment and try things you might never do elsewhere. Obfuscation done right truly is an art form. I challenge you to go look at the International Obfuscated C Code Context (IOCC) sometime and take a good long look at what they do there (whether you grok C or not!).

As Mrs. Frizzle on “The Magic School Bus” is wont to say: “Take chances, make mistakes, get messy!”

It’s how we grow in our craft.

How has “making messes” helped you in your craft? Are you an obfuscator, and do you think that has made you a better programmer? Or maybe you disagree, and insist that obfuscation obscures the art and distracts us from real improvement? Let me know what you think!

Published in Techspiration + Ideas + Making It Happen.

--

--