The last post? It was just a warm-up. This week month (damn, I’ve been busy) is Serious Business. I mean, Kelty quoted The Structure and Interpretation of Computer Programs. If that’s not Serious, I don’t know what is.

Despite the page-long definition of recursion complete with Scheme expressions, however, this chapter actually has very little to do with coding itself. Instead, it is about the people who code and what the act of coding means to them. Wow! That’s EXACTLY what I’m interested in! WHAT A COINCIDENCE.

Even so, this chapter comes at an extra EXTRA relevant time in my life. You see, after about a year of hiatus, I’ve been forced, kicking and screaming decided to start coding again. This time, however, I’m doing it through the eyes of an aspiring social scientist and historian, and so I’ve been spending a lot of time thinking about coding, working with coders, working with non-coders, and how all of this fits together in the context of a software development project.

I’ll definitely talk about that project later (indeed, it was originally going to be the focus of this post!), but I’ve put this post off for so long that an even more relevant example has come and gone. Therefore, I’ll start off with the amazing and thought-provoking weekend I spent at Hackers on Planet Earth.

<HOPE id=”Last”>

In the last few years, I’ve become a serial conference-goer. I’ve attended academic, journalistic, web 2.0y, and totally silly conferences. I’ve volunteered and helped out with almost every aspect of running a conference–and that’s NOT counting ROFLCon. Even so, The Last HOPE presented me with a couple of conference firsts: first speaking gig, first hyper-technical conference, and first ever installation art piece made entirely with sex toys. It was quite a time. And it made me think about all the ways in which I was and wasn’t geeky, the classification of geeks in general, and the interactions between geeks & non-geeks.

if (user==geek) {

Looking back at my presentation about YouTomb on Sunday, I realized that I had subconsciously chosen to present myself as a nonhacker (I’m using hacker where Kelty uses geek, by the way) to the audience through the tone of my presentation, my choice of topic matter (the history/branding of the project rather than anything technical, which I deferred to Quentin), and this one comment where I told the audience of 500 people I didn’t know how to code.

Of course, the truth is far more complicated.

As I mentioned earlier, I do know how to code. In fact, I can code in 4, going on 5 programming languages. And I certainly am a geek, at least by the vast majority of definitions of the word. As for HOPE-related cred, I’d be willing to bet that I know more about the history of phreaking–and therefore of 2600–than most of the other attendees in my age group.

So why did I lie? Well, mostly because my time behind that lectern was short and the talk was about YouTomb, not my complicated relationship to computer science. But also because increasingly, I feel outright uncomfortable claiming hackerhood even culturally. It feels like posing.

This is a recent development. Ironically, it happened while I was becoming much more qualified to speak at/attend HOPE: just a few years ago, my interests, mannerisms, and endless collection of too-large black t-shirts would have helped me blend right in with the majority of the attendees, and what I lacked in my resume I would have made up for in enthusiasm. Now, it felt like the teal-colored badge lanyard around my neck indicating that I was a speaker was all that was keeping me from looking like a “normal.”

What makes someone a geek/hacker? If it is a deep love of technology, a familiarity with code, or a propensity for making jokes about D&D and quoting Hackers: I’m there. If the diagnostic looks something like the Geek Code (which I was totally going to write about in my last post, and then Kelty pre-emptively read my mind), I’m really there. But, in my opinion at least, I’m not there. At least not in the HOPE sense. Clearly, there’s something more.

Kelty describes this elusive quintessence of geekdom as something shared by the community: a social imaginary that all geeks buy into. By his definition, a social imaginary is “our sense of the whole predicament in time & space, among others & history.” (pg. 42) It is how people imagine their individual social existence as well as social order in general. And the social imaginary of geeks emphasizes:

  1. A meritocratic democracy, where anyone can join and become well-respected as long as they have the technical wherewithal
  2. A disdain for conventional social norms and hierarchies, as evidenced by the accessibility of big players in the field like John Perry Barlow (see page 46)
  3. An abiding faith in technological progress & reason as the most important and potent ways of causing change and creating solutions.

This is somewhat summed up from a different angle by the famous quote: “We reject kings, presidents, and voting. We believe in rough consensus and running code.”

Ah, there’s the rub. I may be constantly surrounded by and saturated with geek culture, but somewhere at the core I’m not a believer. The meritocracy concerns me more than a little, as does the “rough” part of rough consensus, and I am on Lessig’s side as far as technological determinism is concerned: changing the code can change the way a social system like the internet works, yes, but code is hardly pure and contains more than just some comments’ worth of the opinions and philosophies of the person who wrote it.

} else {

Kelty’s explanation of the social imaginary really helpful for understanding how the geek community is internally structured and regulated and how geeks understand each other but, as usual, I am curious about the membrane between the worlds. I wonder about what happens when the Request for Comments social imaginary has to mesh with the outside world. How do processes and variables that work within the scope of hackerdom deal with other processes inherited from a more global scope? After all, the days of computing as an obscure, insular activity are long over. Now, not only do geeks have to keep “the average user” in mind when creating software, they may even work alongside other non-geeks like designers, activists, lawyers, and so on.

Since the system is only as self-contained as the hacker community itself, this type of nonhacker intrusion does quite a lot to complicate the elegant system Kelty lays out. In a collision between a social imaginary and reality, the binary of “just talk” and code is especially affected. At what point does talk become code? Wanking on a listserv is almost universally considered “just talk,” but what about when a user comes up with an idea to improve the system and submits a feature request? Or design: here’s an aspect of a software project that is at least as political as the code itself, yet div tags and table captions hardly fits in with the minimalist code that hackers pride themselves on. Does the hacker community actually have to believe in rough consensus, running code, and a well-styled & effective interface?

}

….Alright, I’ve put off posting this long enough, so even though I initially had more to say, I’m just going to click “publish” and save the rest of my incoherent thoughts for the next installment. WHICH WILL COME!