on nerds and non-nerds

On the red line after work. Got the small seat to one end of the car. A woman wearing a pelt of some sort sat down in the seat next to me, her back to me. She stinks of chemicals and society. And she’s reading us weekly. How trite and predictable. I want to slaughter her on principle. Not that I really have issue with the fur, or her reading choice. It’s the whole package. I get the feeling that she is greedy and selfish, and that she has no concept of compassion or human suffering.

I could be wrong, but I tend to trust my instinct on things like this.

I spent most of the day at work today unraveling the nightmare code that one of our contractors wrote. We hired him to build an in-house data-interface for some of our more tedious data-manipulation. What he built mostly works. It’s a little slow, a little buggy, and has some major ui issues, but it mostly works. Except for the display of the data. The gui is converting back and forth between pixels and twips. This should be fine. It would be fine, if the conversion weren’t handled on a case by case basis throughout at least half a dozen different classes. I don’t want to know what his object model looked like in his head, if it looked like anything. It’s terrifying.

My favorite piece of code that I came across looked something like this (translated to english for your pleasure)

When This Thing Happens:
Does This Thing have a value?
Yes: Do Nothing
No: Do nothing
Done.

I’m not even kidding. I wish I was. I don’t think I’m a super-amazing developer. I have a long way to go. Complex object models are challenging for me to understand. I confess that the complexity of his model may be my challenge in shaking his bugs out. Or one of them. That said, meaningless code and horrible conventions don’t make me feel that my trouble today was my fault. In fact, they make me feel that it was almost entirely the contractors fault.

When I have some spare time at work, I’m ripping the application apart to it’s base components and putting it back together in a more sensical manner. Since I’m the one that has to maintain and grow the monster I think that’s only good planning.

A coworker and I were talking last night about nerd-thinking. Lots has been written about the brain of a nerd, and how it differs from the brain of a non-nerd. And yet, it seems only nerds read things like that. It’s amusing, because if non-nerds read these things it would be a lot easier for them to interface with nerds. Or at least understand why nerds act the way they do. I know it helps me to realize that most people don’t process information the way I do. I’m fortunate that most of my social circle is also made up of nerds in one flavor or another, or at least geeks.

Nerds think of everything in terms of connections. Everything I say brings up an extensively cross-referenced library of possible comparisons, details, experiences, and data in my head. Everything you say does the same thing. Ever notice how nerds seem to be able to talk about anything at all? That they’re equally at home discussing human psychology, ancient history, and photography as an art medium? It’s not because we (nerds) actually take the time to study all these things and have factual academic references to call on. That is the realm of scholars. No, nerds read pretty much everything they can that is even remotely interesting to them. More importantly, they remember and index everything they’ve ever been exposed to. The nerd is the king of context and concept.

I’m a nerd, so you’ll have to forgive me for the computer analogy I’m about to use. I don’t know how non-nerds really think, I’ve never been one. From what I’ve observed though, a non-nerd thinks in folders. Their memories and experiences are categorized and labeled as individual entities. You open up the job folder, then you open up the Unit Manager folder, then you open up the UM of CS Operations folder. Then you have access to their information about their job as a Unit Manager of Customer Service Operations 4 years ago. But you don’t have access to their information about their job as a Unit Manager of Collections last year. It’s in a different folder. It appears that non-nerds think in these steps. In order to get from Unit Manager of Collections to Unit Manager of CS, they think back one folder to the UM folder, then they think forward a folder to UM of CS. The further away the topic is, the more folders they have to move through. And many of their folders are hidden, because they never bothered to categorize them. There’s a whole list of boyfriend folders that are completely invisible. Let’s not even think about the folders relating to family.

Nerds on the other hand don’t have folders. They have a big room with all their information taped to the walls, and strings connecting every possible related word or piece of data to every other possible related word or piece of data. It’s scary. (Don’t confuse this with a psychotic person who has strings connecting unrelated data randomly, or someone who cut all the strings. They’re whole other breeds.) A nerd sees no problem comparing the fall of Rome to the office politics he has to deal with every day. (Which is why nerds are often notoriously bad at politics. It’s not that we don’t know how to handle it — although we don’t — it’s that we know exactly how it’s all going to end and so we don’t even try to play a game we know will not have a winner. Think of War Games. I love Matthew Broderick.) Nerds further, have no problem relating those politics to the forces impacting a society that produced an artist like Ansel Adams. It’s all one big smorgasborg of good fair connections. And if you get two nerds together, their networks find linking up points within seconds. After a few hours their string balls have practically interconnected so well that they may as well be thinking the same thoughts. The more nerds you get together, the crazier the web becomes, and the more powerful. (Careful trying this with large groups. I suspect that more than 4 or 5 nerds in this type of relationship may accidentally destroy the universe.)

So nerds can be dangerous as well as helpful. This is a useful thing to know. The important thing that all of this was working towards of course, was the moral of todays post.

Don’t hire contractor programmers who aren’t nerds.

One Response to “on nerds and non-nerds”

  1. Let us begin Nerd-meggedon

Leave a Reply