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.
The sun is coming in through the windows of the red line. It’s bright, late afternoon, nearly 5:30 now. I can barely see the screen. It’s a good thing I touch type. At moments the sun shines directly in my eyes and I feel as though I will be blinded. But it also feels warm upon my face, upon my eyes. I am reminded of some visions I had recently, where I stood nude in the full light of the sun. Where for once, I was not afraid of the sun burning my skin, but was warmed by it. Where I felt uplifted and empowered by the warm light that bathed me.
I’m considering the need to start another place to write online. Another blog or journal. Not that this is a bad place, but I have plans already for Autumn Twilight, and what I’d like to do will interfere with those. I find that I am being called to read a great deal. Not just to read, but to analyze. To evaluate. To write about what I’ve read. To record my thoughts and establish them. I also find that this belongs in an electronic medium. A place where others can read my thoughts. Where what I’ve read may communicate it’s wisdom to me and others too.
I have this idea of having a topical focus of the day. Each day of the week would have an emphasis or topic. Not counting my daily dose of fictional and news reading, I would devote some of my time to reading whatever the current work (or subject matter in general) is, and write my impressions. I have formulated this idea from a few others I’ve had. One is Daniel. His method of reading and studying leaves me consistently amazed. He is reading 15 or more books at any given time. And he doesn’t rush through them. He will read a few pages, or a chapter. When he feels that he is full, he will put the book down and allow himself time to contemplate what it is he had read. I adore this, and it’s something that I not only admire, but find resonates with me. I often find that the deepest understanding, for me, comes from contemplating ideas piecemeal. Evaluating each and every concept or proposal on it’s own merit, then allowing them to change my world view and become part of me in their own time.
My second source, is that I’ve often found keeping a journal to be helpful. It doesn’t matter what I’m doing. A journal helps. I’ve journaled about things I’ve read before, while reading them, and after. And I’ve found that the discipline of writing about them helps to focus my awareness of what I’m reading, why it has meaning and value (or why it doesn’t), and what it means to me.
Edit: 2008 03 26: — I’ve started a new blog at blogspot. it’s called that witch i read. Okay, it’s a cheesy punny title, but I like it. deal.