The two programmer subspecies that are worthy of note are the hippies and the nerds. Nearly all great programmers are one type or the other. Hippie programmers have long hair and deliberately, even pridefully, ignore the seasons in their choice of clothing. They wear shorts and sandals in the winter and t-shirts all the time. Nerds are neat little anal-retentive men with penchants for short-sleeved shirts and pocket protectors. Nerds carry calculators; hippies borrow calculators. Nerds use decongestant nasal sprays; hippies snort cocaine. Nerds typically know forty-six different ways to make love but don't know any women. Hippies know women.In the actual doing of that voodoo that they do so well, there's a major difference, too, in the way that hippies and nerds write computer programs. Hippies tend to do the right things poorly; nerds tend to do the wrong things well. Hippie programmers are very good at getting a sense of the correct shape of problem and how to solve it, but when it comes to the actual code writing, they can get sloppy and make major errors through pure boredom. For hippie programmers, the problem is solved when they've figured out how to solve it rather than later, when the work is finished and the problem no longer exists. Hippies live in the world of ideas. In contrast, nerds are so tightly focused on the niggly details of making a program feature work efficiently that they can completely fail to notice major flaws in the overall concept of the project.
Of course this is mostly bull crap, but I still occasionaly use these categorizations as a mechanism for picking a strategy for interacting with someone. It's not perfect but at least it's a starting place.
Update: In response to Don's comment query I offer the following picture of myself from 1990, around the time Cringely's book came out.

[ 5 comments ]
The story of the Ivory Billed Woodpecker is really cool. If a bird could go undetected in the woods of the south east, Big Foot surely could still be hiding in the woods of the north west.
[ no comments ]
I maintain that what I said was not in violation of my employee agreement. I mentioned version numbers of existing products that are public knowledge. I mentioned one of their products being hard to install, but that's public knowledge - unless someone actually think XXX has secret install technology that it just doesn't share with its customers, but then again, maybe they do and they just didn't share it with me (Have I gone too far again - crap it's hard to know). I used a vague large number to describe the number of people effected within the corporation, but again it's public knowledge XXX is a big company and they have lots of people working for them. Lastly I summarized the situation with a colorful metaphor - goat rodeo, cluster fuck. Perhaps, in retrospect, asshat circus would have been less offensive.
It's true that what I said wasn't flattering and that's probably the crux of the problem. As I've said before on this blog, big corporations spend a lot of money to protect their image. But it's too bad they can't take some constructive criticism. If I just said they sucked - which I don't believe is the case, I probably would have been better off. But my conscience is clean. I tried on the inside, I tried on the outside and the result have been the same. Too bad.
In a previous deleted post I mentioned I intended it to be my last on the subject. The same is true for this one. But to paraphrase Pacino in Godfather III, every time I think I'm done, they keep dragging me back in. Peace out.
[ 1 comment ]
SelectionStart - gets and sets the starting offset.
SelectionLength - gets and sets the length of the selection.
The problem is that given these methods there's no way to control the position of the caret. These methods always place the caret at the end of the selection. The low level windows API EM_SETSEL was smarter. With it you specified a start offset and end offset, where the start offset could be greater than the end offset, thus allowing you to position the caret at the start of the selection.
The only solution I could come up with to work around this issue in .Net was to actually send the low level EM_ message to the control. Which brings me to my second .Net complaint. Given that access to the legacy message based API is often needed, it would be nice if .Net provided a built in legacy access API with message constants and structure predefined. The way it works now, you need to declare the extern for SendMessage, lookup the message IDs from winuser.h and declare your own constants.
[ no comments ]
[ no comments ]
Contained in the Chocolate Salty Balls song is an actual recipe for said confectionary. I figured someone in this world must have tried these things and it might make a funny blog entry so I Googled around a little looking. While I didn't find anyone who actually made and tried Chef's salty balls I found some variations and other ball related recipes that are amusing.
101 Testicle Recipes & Fun Facts
Recipe for Bushman's Balls
Recipe for Martin's Chocolate Salty Balls
[ no comments ]
Standards stifle creativity. The modern developer who grows in their career working with canned technologies won’t have a chance to develop a sense of elegance and aesthetics based on the experience of seeing many different solutions.
Programmers like analogies. It’s our job to create analogies in code and this carries over to the rest of our lives.
[ 2 comments ]
According to this web site this pig drawing I did indicates:
I am realist.
I am direct, enjoy playing devil's advocate and neither fear nor avoid discussions.
I am emotional, naive and a risk-taker.
I am secure, stubborn, and stick to my ideals.
I am a good listener.
Take the quiz yourself and see what else this picture tells you.
via Don
[ 2 comments ]
- Cubes aren't so bad. I've had an office for so long I forgot what fun it is to just speak your questions and get them answered. I joked with some old coworkers that this would be a perk of the new job and it really is.
- I keep asking if there's a policy for this or that and keep getting quizzical looks back. The amount of trust and freedom as compared to big blue is really refreshing.
- Free Diet Coke!
[ no comments ]
[ no comments ]
Update: After posting this I went out and did some more research. There's a lot more out there on this, both supporting and lambasting the topic. Here are a couple:
http://www.hydrino.org/
http://www.rexresearch.com/millshyd/millshyd.htm
[ no comments ]
[ 2 comments ]
Workplace Messaging is one COMPONENT of a MULTI-COMPONENT collaboration platform known as Workplace. Part of the reason for its existence is that some customers didn't want to buy all the functionality of Notes/Domino when all they needed was email - you know the whole ON DEMAND thing. In the sense that one email system can replace another it's a replacement of Notes/Domino, but given that Notes/Domino as a entity can do a lot more than just Workplace Messaging, this is really an apples to oranges comparison.
On a tangential point of Notes/Domino evolving into Workplace, there's a lot of work going on to make them work better together and to get the Notes client code to work inside of WCT so there's a lot of truth to this statement. At a vision level a personal desire of mine, that I don't think is being worked on, is that the NSF layer of Notes/Domino be extracted and made available for generic non structured storage needs. That's probably just a pipe dream but it would be cool.
[ no comments ]
Google maps was already cool, but now that they've added satellite imagery it's over the top way cool. That's my house, first on the left of the cul-de-sac. You know, my grass doesn't look so bad from space.
[ no comments ]
Via Bovine Strength Systems. (WOW, two posts in a week that use the word bovine. That must be a record.)
[ 2 comments ]
The film follows the nerdy character Napolean Dynamite through the basic tribulations of youth - meeting girls, school cliques, crappy jobs and family issues. In this case however, the characters are all exaggerated stereotypes who fumble through life in a series of scenes where each is designed to make you cringe more than the last. In typical Hollywood fashion there is a redemptive scene at the end, but it's so atypical it works.
The differences between the characters imagined self and there external self is the core of the film. The lead character Napolean attempts to present himself as a martial artist who's also an accomplished hunter when he's just a lanky and exasperated nerd.
Don: Hey, Napoleon. What did you do last summer again?
Napoleon Dynamite: I told you! I spent it with my uncle in Alaska hunting wolverines!
Don: Did you shoot any?
Napoleon Dynamite: Yes, like 50 of 'em! They kept trying to attack my cousins, what the heck would you do in a situation like that?
Don: What kind of gun did you use?
Napoleon Dynamite: A freakin' 12-gauge, what do you think?
Other characters are just as bad. Napolean's brother Kip tries to convince people he has a social life and is studying to be a pit fighter when he's just a lonely guy chatting on the computer and Napolean's uncle Rico is looser lost in the dreams of his youth who believes he's a great football player that just missed his chance to go pro.
This isn't a film for everyone; the pacing is slow and the humor is both absurd and dry, but if you can laugh at yourself and the foibles of your friends you will get at lot of chuckles from this movie.
Here's a better review from Seatlepi.com.
[ 4 comments ]
We ultimately went with the Guernsey, for its competitive dairy output volume, and its reputation for producing high-butterfat, high-protein milk with a high concentration of betacarotene.We initially planned on using a Holstein cow, but we got significant pushback from the cows we approached about this project. Most cited ill will toward the PC industry owing to what the cows termed "inbovine" treatment by Gateway during some of its marketing promotions in the 1990's. We also briefly considered the Milking Devon, but its pointy horns made us reconsider.
Initially we were going to opt for the Killer Gaming Rig set of components in the Bovine 3000, but the thermal output irritated the cow's skin too much, so we went with more modest components. We were even going to use integrated graphics, but the cow protested, because it likes playing 3D shooters. Apparently this particular cow has a real jones for CounterStrike Source and goes by the handle "M3anT3at."
[ no comments ]
As for where I'm heading next, I'll wait to say anything about that until I actually start my new job and learn the ropes a bit. I'm very excited about the opportunity however, and I am really looking forward to the new challenge.
[ 8 comments ]


