So, How My Day Went, You Ask?

I spend a miserable morning working with Microsoft Sharepoint. A “smart quote” in a code sample from a KB article really chocolate-flavored my morning. Flavored it so much that I just had to send a profanity laced (virtually every sentence), but informative email to the MSDN keepers.

The funny thing about MS though is that interestingly enough they read and reply to feedback rather quickly. Just watch this: there will be a reply in my comments from Scoble in a day or two. Apple, Google, as well as the company where I work don’t really dedicate many people to answering customer complaints. Especially publicly. Yep, MS is funny that way – they even have real, live people looking at those crash error reports. And I hear that the suggestions and general emails get read and answered quicker than one might expect.

There’s even a link to “Request a Microsoft Executive to speak at events and functions” (notice capitalization), but sadly it does not work in Firefox. Too bad – I was gonna request that Ballmer give me and my co-workers a “Developers! Developers! Developers!” pep talk over lunch tomorrow.

Actually, here’s a little known fact for ya – if you write to One Microsoft Way and ask for Gates’ or Ballmer’s autograph, they’ll send you an Autopen-signed photo. I obtained Gates’ photo like this once, but I used it up as a birthday card for a Microsoft-loathing friend. I wonder if this trick will work on distinguished engineers past and present. I’d totally want Dave Cutler’s autograph.

In the evening I decided to go and replace my phone featured in this quaint still life from my cube’s desk. I mostly use the slide rule for pointing at the screen, poking my co-workers who having agreed to go out to lunch insist on sending one more email and drawing straight lines. I even learned how to do simple multiplication on it.

Being one of those people who insist on getting burned on new technology and then feeling resentful (thank you, Acer for making your first Tablet PC with a 256 meg ram limit and you, Microsoft developers, for using memory-hungry Win XP for the tablet’s OS) I finally decided that maybe it’s a good time to forgive Handspring for the disappointment that was the original Visor Phone. Oh, that stupid thing. It only worked when I didn’t need it and crashed whenever I did. Bulky, ugly, nasty thing. After one more crash/memory loss I sold off my Treo and my Visor phone and started using a different kind of PDA. I just shudder when I remember how Jeff Hawkins arrogantly told everyone that handheld users should mould themselves into using stupid graffiti script instead of giving us good thumb keyboards like smart people at RIM.

Well, I thought I’d get a Treo 650. I need something to type in on the train. The keyboard is not very comfortable compared to Blackberry or Danger (which design I like a lot more). But once again it’s the choice of better design vs an OS which is easier to develop for. Sadly I choose the latter way too frequently.

Also, in New York you can either pick a cellphone company that has better prices, phones and customer service or you can pick one that has good reception. Yes, everything about Verizon sucks. But they have so many damn tower that even though you get shafted on everything else, at least you get a phone that works better than others. You can actually send or receive a call in most places, even in some shallow subway stations.

Unfortunately it turned out that they want $25 extra per month for 10 megs of data, and in conjunction with a 2 year contract and $400 phone this just did not look like a good deal to me, so I passed. I guess I a destined to live with a bricky ol’ phone that is only good for making phone calls. Sadly it looks like to get better PDA features cheaper I’d need to sacrifice Verizon’s good reception.

Then I spent 3 hours this evening cleaning out spyware from a friend’s computer. I failed miserably – Adaware, Microsoft Antispyware Tool and Search & Destroy could not clean out all the crap even on multiple passes. Looks like I’ll have to reinstall.

Some Microsoft Poetry

I have not had any problems with Windows 2000 for years. Until the last couple of months. One of the patches must have done something to the crispy crunchy goodness that is Windows graphics code. Since then – nothing but trouble. It seems to begin when I have too many windows open. It happens both at work and at home where I have completely different video cards.

I already replaced a floppy drive in my home computer with an internal memory card reader. This left me totally unprepared to nasty progression of : messed up window rendering -> bungled driver upgrade -> 640×480 only mode -> 640×480 only mode in safe mode only -> crash -> crash -> crash -> fundamental system file corrupted -> repair boot that DEMANDS THE STUPID RAID DRIVER ON A FLOPPY -> a whole weekend with a computer that has all my files on it that won’t even boot. This is what you get when your operating system of choice has graphics code mixed in with everything else.

That’s it. From now on there will be a fully built Linux server with all my files on it somewhere in my apartment. Hopefully in a couple of years I’ll be able to make a complete switch to Linux. Lets face it: Windows XP is slow, buggy and generally crappy. Especially in it’s Tablet PC variety. I can’t even imagine what crap they are whipping up right now without Dave Cutler, but that doesn’t matter. It’s going to be too little too late. Now, if there was a whole lot of developers walking around MS campus with Cutlers boot squarely up their collective asses things might have been different. And now Windows 2000 is messed up by patches. Linux starts to look better and better.

The Fug

I think of my life as one long developing and debugging session. I try to improve my software and hardware, fight bloat, load more data in my databases, find new algorithms for doing things. And of course my life is full of little bugs, inefficiencies, crashes and weird behavior. Instead of making coding my way of life I try to make my way of life be more like coding.

There are three classics of the genre of the heroic computer geek saga. First there’s Tracy Kidder’s “The Soul Of a New Machine“. Second is Douglas Coupland’s “Microserfs“. Third is G. Pascal Zachary’s Show-Stopper!. Pascal’s first name which he hides behind the initial “G” is Gregg. Yep, Gregg.

Now I would like to add another book to the list. It’s Ellen Ullman’s “The Bug“.

To describe what these books are about I need to borrow a name of Cordwainer Smith’s short story – The Burning of the Brain. Or Harlan Ellison’s I Have No Mouth and I Must Scream. Those are the things that come to mind when I think about the heroes of these books.

Also comes to mind the episode of NYPD Blue where a doctor tells detective Simone that there is a possibility that the LVAD (Left Ventricular Assist Device) balloon pump might start “chewing up” his body. A poor choice of a metaphor in that case, but a very good one to describe what happens to the bodies and minds of the heroes of these books, be they real life superhuman engineers like Dave Cutler and Steve Wallach or more human but fictional protagonists of “Microserfs” and “The Bug”.

“The Bug” has three main characters. A tester on her way of breaking out from the cocoon of useless liberal arts degree holder and becoming a QA engineer not only in title but in life; a miserable antisocial software engineer in a fight of his life; and a software bug called The Jester.

At work I use Joel Spolsky’s most excellent bug tracking application called FogBugz. My project manager started calling especially nasty bugs “fugs”. Well, The Jester is a “fug” to the power of 10. To get the feeling of vertigo, the sense of spiraling into an abyss that “The Bug” invokes, i suggest listening to a piece titled “Spiral” on John Coltraine’s famous “Giant Steps”.

And here’s my favorite quote from the book:
“Look, Levin. Programming starts out like it’s going to be architecture–all black lines on white paper, theoretical and abstract and spatial and up-in-the-head. Then, right around the time you have to get something fucking working, it has this nasty tendency to turn into plumbing.
“No, no. Lemme think,” Harry interrupted himself. “It’s more like you’re hired as a plumber to work in an old house full of ancient, leaky pipes laid out by some long-gone plumbers who were even weirder than you are. Most of the time you spend scratching your head and thinking: Why the fuck did they do that?”
“Why the fuck did they?” Ethan said.
Which appeared to amuse Harry to no end. “Oh, you know,” he went on, laughing hoarsely, “they didn’t understand whatever the fuck had come before them, and they just had to get something working in some ridiculous time. Hey, software is just a shitload of pipe fitting you do to get something the hell working. Me,” he said, holding up his chewed, nail-torn hands as if for evidence, “I’m just a plumber.” “

Wanke Wanker, Nike Style Developers and The Big Secret

An interesting article about Windows developers:

“This late in the development process, bugs are often passed along, or “punted,” to the next Windows release–Longhorn–if they’re not sufficiently problematic.
….
On the day I attended, one feature group had four of its bugs punted to Longhorn because they had failed to shown up for War Room. When someone argued that they should be given another day, Wanke simply said, “F#$% ’em. If it was that important, they would have been here. It’s in Longhorn. Next bug. “

I bet that when Dave Cutler was around, nobody missed meetings like that. Probably because Cutler would have punted them.

And this is just a good proof of what Joel keeps saying about superstar developers :
“I went out and handpicked the three best developers on the team and said, ‘just go and fix it.’ One developer fixed over 7,000 references to [Windows] .NET Server. Let’s just say that there are people I trust, and people I don’t trust. I told these guys, ‘don’t tell me what you’re doing. Just do it.”

From the first part of the article
“Originally, we were targeting NT to the Intel i860, a RISC processor that was horribly behind schedule. Because we didn’t have any i860 machines in-house to test on, we used an i860 simulator. That’s why we called it NT, because it worked on the ‘N-Ten.’ “

Huh. Now they tell us.

Embed With Microsoft

An auction for a special Microsoft shirt:
“The MICROSOFT� WINDOWS� EMBEDDED signature NAME and LOGO”

This reminded me of a t-shirt I’ve seen somewhere that said: “Embed me, link me, treat me like an object”.

Logo apparel is an amazingly effective propaganda tool. My favorite Microsoft shirt says “MS Commerce Server 2000 Surf Naked”. I still wear it even though it’s 3 years old.

I really want to get “Apple T-Shirts: A Yearbook of History at Apple Computer”, but it’s apparently rare and expensive at $180. Dang.

Some pretty cool shirts at http://geekt.org/:
Heh heh, so Outlook’s original code name was Ren. I am still working on that database of Microsoft codenames. Stay tuned.

I think Dave Cutler gave out Zero Bugs shirts also, but Netscape’s shirt is more famous.

How I wish there was a source for logo polo shirts from cool companies. I could go for some Amdahl, Cray, Microsoft, Apple, Xerox PARC shirts.