Art Quotes of the Week

Karl Gnass quoting Thelonious Monk – “All we’re doing is looking for the right mistake.”

Luis Alfaro speaking at the Jazz Bakery Speakeasy – “The one thing art asks of you is that you change.”

Dr. Richard Selzer: “Just as a writer surrenders to language, permitting the words to lead his hands across the page, so will stone, brick, wood, glass and marble suggest to the architect the manner in which to use them.”

Spaghetti Code

spaghetti_04_colors_v04

This was supposed to be a riff on spaghetti code, nothing more. It wasn’t until I was mostly finished that it occured to me that I’d just drawn the Flying Spaghetti Monster – and perhaps made a statement about the consequences of worshipping the machine.

The Space Between

Animation lesson from Greg: “The interesting part of any shot, even a crazy fast action shot, is in the pauses. It’s in the moments in between the actions, the anticipation and reaction, that we get the feeling that the character is thinking and therefore alive.”

To me, that principle is summed up perfectly in this poem by Kenneth Patchen, titled The Moment:

before the girl picking field daisies
becomes the girl picking field daisies
there is a moment of some complexity

And my friend Slim adds, “It’s so interesting how this theme occurs and reoccurs in all art forms. The music is the space between the notes, and not the notes themselves. Typography is the space between the letters, and not the letters themselves.”

For that matter, I could quote the Tracy Chapman song:

There is fiction in the space between
The lines on your page of memories

Light Side, Dark Side

I’ve spent most of my professional life as a software engineer, and software engineering has definitely changed my personality. Much of it has informed my other pursuits in amazingly positive ways, but some of it has the potential to be a trap.

Helpful Geek Traits:

  • The ability to divide and conquer seemingly monolithic projects.
  • Agile cycle of sensible iterations and constant refactoring.
  • Being detail-oriented and schedule-oriented.
  • Being self-troubleshooting and able to write my own tools.
  • Empathy (yes, empathy) – being able to approach a domain on its own terms rather than trying to impose my own framework in some Procrustian fit.
  • Understanding the value of simplicity – “When you figure out what you want to say, you don’t have to put a lot of marks on the page.” This is as true in class design as it is in life drawing.
  • Recognizing that the coupled traits of persistence and honesty are far more important than any God-given talent.

Unhelpful Geek Traits:

  • Panic mode of constant firefighting. Aggressively looking for things to go wrong. Paranoia.
  • Excessive nitpicking over edge cases and other things that are important in programming but irrelevent in real life, like a missing semicolon. It’s like fixating on a speck of dirt in the grout between kitchen tiles.
  • Being lord of my own little domain and fearing to venture outside my comfort zone. I never, ever thought this would apply to me, but now that I have finally aquired depth as a developer, it’s surprisingly difficult to tackle new disciplines at which I have zero experience – surprisingly difficult to risk falling flat on my face.

Both helpful and unhelpful:

  • Geek stubbornness – chasing after a bug till you squash it, damn it. This is usually a good trait, but it’s sometimes gotten me locked in cubbyholes and fixated on the wrong thing. There are times when it’s important to abandon a side battle in order to focus on the war.
  • Unrealistic assessment of difficulty and risk. I don’t think I pursue difficulty for its own sake, or create complexity for the sake of creating complexity, but I do almost always tackle bigger projects bigger than I’m capable of at the time. This is because ANY programming project looks intimidating and impossible until you jump in. So I’ve become immune to fear, in a certain sense, and that’s not always a good thing.

Music as Hypnosis

There’s a well-known page of The Animator’s Survival Kit where a young animator asks an older animator what kind of music he likes to listen to while animating, and older guy responds (this is such a great series of drawings), “Of all the s-s-s-tupid god-god-god-damned questions I-I-I-I’ve ever heard! I-I-I-I-A-A-A-F-F-F-Stupid question! Iy-Iy-Iy-Iy-I’m not smart enough to think of more than one thing at a time!”

Ah… yeah. I’m not that smart either, which is why I should really know better than to write code or draw or animate or do anything, really, with a browser window open. Physically unplugging my Ethernet cable is sometimes the best thing I can do for myself. No one is as good at multitasking as they think they are.

That said… I need my music in order to do pretty much anything creative – write code or draw or animate. I do turn it off when I really need to concentrate, but I find it next to impossible to get started without it.

First off, it alleviates the fear factor of staring at a blank page. I don’t think anyone ever really gets over this. We just get better at dealing with it. Courage isn’t the absence of fear – the absence of fear is a pathology. Courage is the ability to persevere in the face of fear.

Second… I think I need music in order to tap into my own personal wellspring of intuition – that subsurface layer of thought I depend on so heavily in everything I do, from code to math to language to art. The frustrating thing is, I can’t query that layer on cue. When I try, I usually draw blanks. That’s why it took so long to come up with the list of computer science metaphors that’s since started to evolve into a computer science etymology. I really couldn’t directly query the mental database – I had to wait for the words to bubble up of their own accord, in my own daily stream of consciousness. Unlike the main characters in High Fidelity, I am simply incapable of thinking in top ten lists. Off the top of my head, I have no idea what my favorite books, movies, or music are. But give me an an opportunity to quote one of them in a conversation, and the house-elf in the back of my head will happily supply the source before I’m even aware that I need it.

So what does music have to do with it? I think music immerses me deep within that subsurface layer of intuition. Instead of hovering above it, as day-to-day life forces me to do, I’m floating within it. It takes the house-elf out of the equation. Much as I love, trust, and rely on that house-elf, he is at times an intrusive middleman.

Computer Metaphors

I doodled these funhouse mirrors while corresponding with a friend about empathy, computers, and design. The point I was trying to make was that we create computers in our own image because we have no other choice, but it’s a distorted reflection rather than a clean one because our metaphors tend to be colorful rather than precise.

Computers as a Reflection of Ourselves

Many of the organizing principles of computer science are metaphors that we’ve long forgotten are metaphors. For fun, I started making a list that quickly turned into a series of lists.

Expressive, colorful computer science metaphors:

  • zip/unzip
  • bug
  • spaghetti
  • scribbling
  • edge case/corner case
  • CamelCase
  • introspection
  • thrashing
  • native
  • firewall
  • virus
  • crash
  • dump
  • bootstrap
  • memory
  • clobber
  • handshake
  • client-server
  • breadcrumbs
  • brute force

Expressive with the side effect of adding extra meaning (we need to give it a name in order to talk about it):

  • red-black tree – Red and black have no intrinsic meaning, but assigning colors makes the concept easier to remember.
  • upload/download  – The direction is arbitrary, yet by now we’ve internalized it. By way of contrast, the Chinese words “shang” and “xia” for “up” and “down” also mean “previous” and “next.” This drives me crazy because to my Western mind, “up” should mean “next,” not “previous.” I assume that “up” means “previous” in Chinese because ancient calligraphers wrote from top to bottom, but I still have trouble wrapping my head around it.
  • Alice, Bob, and Eve
  • cyberspace – We think of virtual reality in terms of space and spatial dimensions because we need that anchor back to something we can understand – it’s just too abstract otherwise. Obviously, geography does have some meaning in cyberspace – the servers live somewhere physically, and so do the people – but I’m sure the reason people build such elaborate Second Life communities and environments is that we need that spatial grounding in order to make sense of an otherwise abstract virtual world.
  • foo, bar, baz, fred, barney, and all the other standins of this nature – We go crazy if we can’t give it a name.
  • parallel programming – Again, we automatically employ a spatial metaphor in order to facilitate understanding of abstract concepts.

Wordplay and puns and nonsense syllables with a poetic cadence:

  • deque
  • xkcd
  • xyzzy
  • gnu’s not unix
  • foobar

Metaphor is dead because it’s become it’s own word and lost its connection back to the original thing (this is obviously subjective)

  • window
  • mouse
  • desktop
  • icon
  • World Wide Web
  • Cold Fusion (my father the physicist never understood why anyone would name any product after a failed theory)
  • heap
  • bus
  • token
  • process
  • processor
  • volume
  • array
  • block
  • sector
  • partition
  • compiler

Colloquialisms invented to describe computer phenomenon

  • blue screen of death
  • spinning beach ball

I wonder if this is similar to how creole languages develop – we spontaneously “name” things. Hence creoles are full of words like “big teeth hit ’em and they sing out” for piano – it’s as if a pidgen becomes a creole the moment the vocabulary’s big enough to bootstrap itself into naming everything under the sun. So now BSOD has a name, and it will never be known as anything other than BSOD.

Roundtrip from daily life to computers and back again (influences both ways)

  • debug
  • avatar (from Hinduism to cyberpunk to message boards and finally over to James Cameron)
  • interface

Personal roundtripping (I am probably the only one who thinks like this)

  • checksum (did I manage to get all my bags from the airport?)
  • ACK/NACK (yes, I heard you… but I don’t have an answer yet)
  • zero-based counting in daily life
  • writing == when any normal person woud use =

Comparisonitus

I still sometimes get blown away by friends’ work and momentarily despair about my own. In recent days, it was Jesse and Ibrahim and in recent weeks it was Aidan and Karl, but that’s not the point. I’m better off patting myself on the back for having cool friends rather than worrying about whether I can stack up.

Here’s the thing – I do know what I want from my own work these next few months, and it’s emotional authenticity. I may not have the most sophisticated style or have time to do the most detailed projects, and to be honest, I still can’t draw the way these guys draw (spontaneously, prolifically, and consistently getting it right on the first try), but I’m working on the drawing skills and I do think I have something special to bring to the table once I manage to put it all together. It’s about getting to the heart of a moment, and letting that be the thing that shines.