The probabilistic guarantees of a web browser

We’ve all been there. Something goes all sideways in our browser and we’re stuck with a spinning throbber as the fan kicks into overdrive. Tempted to see what might be going on, we roll up our sleeves and pop the virtual hood and our world goes from rainbows and unicorns into a stinky mess of barbwire orc-speak of the Inpect Element window.

James Mickens, writing for ;login: magazine, has a style of writing all his own. His last column for the magazine is a tour de force of the current state of HTML and how the whole thing is a teetering mess that can easily come tumbling down.

Each browser is reckless and fanciful in its own way, but all browsers share a love of epic paging to disk. Not an infrequent showering of petite I/Os that are aligned on the allocation boundaries of the file system—I mean adversarial thunder-snows of reads and writes, a primordial deluge that makes you gather your kinfolk and think about which things you need two of, and what the consequences would be if you didn’t bring fire ants, because fire ants ruin summers. Browsers don’t require a specific reason to thrash the disk; instead, paging is a way of life for browsers, a leisure activity that is fulfilling in and of itself. If you’re not a computer scientist or a tinkerer, you just accept the fact that going to CNN.com will cause the green blinky light with the cylinder icon to stay green and not blinky. However, if you know how computers work, the incessant paging drives you mad. It turns you into Torquemada, a wretched figure consumed by the fear that your ideological system is an elaborate lie designed to hide the excessive disk seeks of shadowy overlords. You launch your task manager, and you discover that your browser has launched 67 different processes, all of which are named “browser.exe,” and all of which are launching desperate volleys of I/Os to cryptic parts of the file system like “\roaming\pots\pans\cache\4$$Dtub.partial”, where “\4$$” is an exotic escape sequence that resolves to the Latvian double umlaut. You do an Internet search for potential solutions, and you’re confronted with a series of contradictory, ill-founded opinions: your browser has a virus; your virus has a virus; you should be using Emacs; you should be using vi, and this is why your marriage is loveless.

This choice bit is from, To Wash it All Away. There’s more where this came from. Someone pulled together a collection of a few choice essays over on MSDN which includes such gems as, Mobile Computing Research Is a Hornet’s Nest of Deception and Chicanery. Prose that only a frustrated Microsoft researcher could spawn. Peals of laughter, tears of joy – go read him now.

Leave a comment