Saying things like, "All geeks..." "Every geek..." "Geeks will always..." is just wrong.
Makes no more sense than saying, "All lefthanders..." "Every woman..." or "Nebraskans will always..."
There are as many kinds of geeks as there are geeks (NbrOfGeekCategories == NbrOfGeeks). Sure, there are a lot of generalizations, but we are all unique.
I bathe regularly, socialize often, have never watched Star Trek, don't play video games, and enjoy sports.
OTOH, I plot out every trip on Google maps before leaving home, schedule my day out in half hour increments, and place my things out in the morning to be picked up in the proper order. I have to go through the supermarket counter-clockwise to optimize filling the cart. If I learn a new fact, I'm looking for the general rule about 6 seconds later, and am plotting out use cases within an hour. I'll probably have some code written, too.
Is there anyone out there just like me? I didn't think so. (Thank goodness.)
You are right- we are different. I go through the interior aisles of the supermarket first before finishing with a perimeter swing (where the cold stuff is kept). The perimeter swing is, of course, counter-clockwise. I like to keep my angular momentum up.
Do you go in the opposite direction when you shop in the other hemisphere?
Seriously, are you suggesting that part of "geekiness" is a tendency to think through and design an approach before doing anything? Or maybe that it's a skill for rationalizing any approach afterwards?
I think there is a tendency to get bored by repetitive tasks an find ways to do them better. No forward planning necessary.
One of my first jobs was maintaining a national phone book library: 50lbs of new books in and 50lbs old books out every day, just the kind of thing to keep a 15-year-old busy all day. Within a couple weeks I had redesigned my pipeline to reduce labeling errors and speed the whole thing up by a factor of 2 or 3, which meant I could do other work as well (which lead to me learning print design, then animation, then programming).
I was not planning ahead, just bored, and it seemed normal to me. I was shocked when I tried to train my replacement: she stared at me like I was from Mars. I tried to explain how she should sort the new books first by state, not size, rip through the label printing process in one shot, remember that the list is now backwards when you apply the labels, spot-check every tenth book (ie, when you hit a perforation in the label fan-fold)... etc. She just went on with print-stick-shelf process for each book, and it took her all day.
I believe our language is a lot less precise than you imagine. It is a common practice to over-generalize to make a point, and it is assumed that there are exceptions.
Saying, "all geeks" means she sees something as a trend. I suppose her wording was a little bit stronger than it needed to be, but I doubt anyone reading this would suddenly take it as a definitive guide to geekdom.
Reading all/every/always as a mathematical definition is a pedantic point I see a lot of when reading technical people's responses to non-technical posts. It gets on my nerves as it does not promote the conversation. Although there are exceptions to that. I don't recall the phrase "all the time" get picked on the same way (e.g. "I get stuck in traffic all the time"), perhaps it is more deeply ingrained in everyone that it is hyperbole.
Not to mention that she thinks all geeks are software geeks. Some geek programmers are geeky about something else and don't give a damn about software beyond getting it to work.
Came across this already today. In order for the creative director to view the site on my local machine he asked for the IP address. I decided instead to install a local DNS server. Am I crazy? Also, anyone else know of an easy way to get PCs to recognize the computername.local address that Mac's have? Otherwise, I'll just keep configuring the DNS.
We are equal partners. Is it so strange? We come from the advertising world. He is an award winning creative director. I was the CTO at our former employer.
That makes perfect sense. I didn't mean to sound harsh. "Creative director" sounds like someone who tells a bunch of people what to do but doesn't do much him/herself. Glad to hear that's not the case.
Honestly the 3rd or 4th time I have to do something I'll write a program for it, and only if I know they're would be a 5th or a 6th. I've almost written myself out of my job about 3 times now. I got hired to do IT and run manual reports, after a few weeks our internal IT was up to speed (user support isn't that high volume if their systems are in order), and a few weeks later I had no more "manual" reports. Luckily for me I know how to drum up more projects, I go and find "sore spots". Now I've got a trail of automation and reputation for taking the pain out of our processes. I'm valued and it makes me happy. And to think I could be doing manual reports instead..
I also know I'm responsible for work happening on days when I spend all my time reading HN...
I do not know how you can call yourself a geek if you can tolerate boredom 3 or 4 times before even considering making a program instead. For some reason, you (and others here) assume efficiency is an attribute of geekdom. I suggest that efficiency is actually a contraindicates geekdom.
Being a geek is more about fun, it is not about how well you can optimize.
My boss doesn't like me wasting my time on a program for one off reports. In fact I had to sell him on the "let me program something for that" because he can't program and doesn't want any major part of our "process" to be outside his understanding. The way I program a project has to do with what technology I want to try (and of course a bit of what fits) and I have tons of fun doing it. Putting off programming my way out of work has more to do with not fully understanding the requirements (ie, why said report should be run and how often) then being lazy or bored.
I've fallen into the trap of getting things running smoothly enough that there isn't anything urgent coming across my desk. Just a few quick fixes here and there.
This has lead to more than a few days of me sitting at my desk and browsing HN in the afternoons. I soon hope to finish a program that will browse HN for me so I can go home early.
"I've heard it said that a good geek is lazy, but I think it's more precise to say that a geek dreads boredom above all else. We'll move mountains to accomplish a task, as long as it's interesting."
In my opinion, this is the largest problem with unit tests and TDD. Much of it (though not all) is the type of boring work that lazy programmers dread. Calling it "professionalism" and saying it's what good developers are supposed to do doesn't help.
I'm not sure what the answer is for overcoming this. Dynamic languages help by cutting down on the amount of code. However, it still seems like we need better tools. Perhaps a way to convert a stack trace into a test? Or maybe a repl-to-unit-test generator?
Saying things like, "All geeks..." "Every geek..." "Geeks will always..." is just wrong.
Makes no more sense than saying, "All lefthanders..." "Every woman..." or "Nebraskans will always..."
There are as many kinds of geeks as there are geeks (NbrOfGeekCategories == NbrOfGeeks). Sure, there are a lot of generalizations, but we are all unique.
I bathe regularly, socialize often, have never watched Star Trek, don't play video games, and enjoy sports.
OTOH, I plot out every trip on Google maps before leaving home, schedule my day out in half hour increments, and place my things out in the morning to be picked up in the proper order. I have to go through the supermarket counter-clockwise to optimize filling the cart. If I learn a new fact, I'm looking for the general rule about 6 seconds later, and am plotting out use cases within an hour. I'll probably have some code written, too.
Is there anyone out there just like me? I didn't think so. (Thank goodness.)