Science explains my madness, at last

If anyone has been bothering to read my rants for the past five-plus years, you may recall that one of my earliest blog posts was a tirade against the evils of cords.

Finally, while it may not be much solace, science as at least touched upon an explanation for why cords suck.

It’s kind of funny now, looking back at what I wrote in 2002. I was speaking in awed and reverent tones of the mystical wonders that awaited us in the future, these things called “AirPort” (I’m not even sure the term “Wi-Fi” was in use yet back then), and “Bluetooth” — things so new and wondrous that I put them in quotes when I referred to them, without a trace of irony.

Now I am pretty much taking for granted the fact that I’m sitting on my bed typing this on my laptop, connected to the Internet via Wi-Fi link to the router downstairs, and I’m controlling the cursor with a Bluetooth wireless mouse. Frankly, I’m more surprised by the fact that as of last Sunday my Mac is now set up in a triple boot configuration, with Mac OS X, Windows XP, and Ubuntu Linux.

The Case of the Missing Nav Bar

I will admit, sometimes the problems I encounter in Internet Explorer are simply due to slight differences in browsers’ implementation of HTML or CSS or whatever, and I’m just not properly accounting for the way IE does certain things. Other times, it’s true, they’re due to a flat-out bug in my code that Safari and/or Firefox (usually “and”) will just graciously accept, whereas IE will not. (The cases where IE catches errors that Safari and Firefox permit, however, are rare compared to the vast, cluttered landscape of bad code that IE welcomes with open arms but that Safari and Firefox rightly reject.)

And then there are the cases such as the one I encountered today. There’s no way around it. I can’t find a nicer way to put it, IE is just plain fucked up.

Yesterday I was going along innocently enough, demonstrating to a coworker the site I had been working on for him. As usual I had worked with Safari and Firefox as my test browsers, firing up IE through a remote connection to my PC as needed to make sure things weren’t completely off track. (In a perfect world, I would never have to do this, of course. But, well…) And then, wham! Of course this kind of problem only rears its head when you’re showing your work to someone who has the authority to reject it. I was convinced it was a fluke on his computer, but sure enough when I went back to my desk, I observed the same thing happening in IE on my own PC. Time to hit the brakes once again and go into IE debugging mode.

I tested all of the obvious things. No luck. So I dug a little deeper and started testing the more obscure, but at least logical things. Still nothing. And like so many times before, I was reduced to just randomly trying anything to see if I could get a different result, no matter how seemingly absurd.

Fortunately it only took about an hour to track down the problem this time. But as usual there was no satisfying resolution, no “Aha!” moment as I suddenly recognized a stupid mistake I had made. Oh no. The problem was that the CSS definition for the <div> tag containing the entire body of the page specified a background color. Of course! (No, not of course, as this should not have any impact whatsoever!)

*SIGH* Seeing as how that background color specification wasn’t technically necessary, I removed it. Problem solved. Frustration with Microsoft, higher than ever.