Skip to content

Instantly share code, notes, and snippets.

@Elffers
Created December 9, 2013 06:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Elffers/7868232 to your computer and use it in GitHub Desktop.
Save Elffers/7868232 to your computer and use it in GitHub Desktop.

###Computers are, in fact, pretty dumb

In our current, technology-rich age, it's easy to take for granted what technology can do. We have technology that can direct us step-by-step when we're driving, taking into account live traffic conditions, technology that can identify constellations in the night sky (even during the day), technology that can connect us into meetings being held many time zones away.

And yet, technology, at a basic level, is pretty stupid. Google Voice and Siri notwithstanding, if we tell a computer something like, "Could you hand me that book?" it would have no idea what to do, without a lot of context pre-programmed into it. If we were to anthropomorphize the computer for a minute--let's call him Bob--and tell him to hand us a book. "Where is the book?" he might first ask. "On the coffee table," you might say. "I can't hand it to you, there is a coffee mug on top of it." Bob looks at the coffee mug in puzzlement.

"Well, pick up the mug first, and then give me the mug."

Bob obliges, and pauses.

"Well?" you say, impatiently.

"I can't hand you the book now, because I'm holding the mug."

"Put the mug down first, then hand me the book."

And so forth.

In other words, there is a lot of context, social cues, and so forth wrapped up in seemingly simple commands that we have to make explicit to a computer. It's what programmers have to take into account every day--defining all the parameters in the universe in which a program operates, breaking down a task into the tiniest step and making sure the computer understands every reference you use. Anything not defined in the scope of a command, and the computer is forced to stop, blinking in robot perplexity, in its tracks.

###We are what we do--or are we?

And this is the appeal of programming, to me. The constant breaking down of complex assumptions that we take for granted as trivial facts of our reality into explicit, discrete units. It's like taking apart an alarm clock (http://en.wikipedia.org/wiki/Grace_Hopper) and understanding all its individual parts. It forces a kind of objectivity and analysis of the world that I feel makes me more open-minded about my own assumptions and use of language and subtext. It sheds light on classic men are from Mars and women are from Venus misunderstandings, or even cultural miscues. And it's just peachy that I'm now in a community whose members all have this same, liberal mindset.

Except, that's not the case at all.

This past week at the monthly Seattle.rb meet up, there was an incident that highlighted shockingly narrow cultural horizons of the programming world. In a talk about storing data logs, the speaker used a slide that showed a 19th-century slave trade transaction, even using a controversial term to describe the purchase items. I don't believe he meant it meanly, and he had probably picked the slide without really thinking. But that is exactly the problem. It was the type of insensitivity I would never have expected in this part of the country, in this generation. The fact that it happened nonetheless reflected the fact that even places as progressive as the Seattle Ruby community, there are still assumptions that are rarely challenged, and reflexes that are rarely truly examined.

There were two black members of ADA present at the talk, and one of them walked out when the slide came up. The speaker later apologized for his enormous faux-pas, but the damage was already done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment