A narrow escape
Let's be honest about this. Looking back, I should have known better. Nevertheless, as I describe the problem that ate far too many hours of my weekend, judge for yourself whether I was entirely to blame for How It Went...
A friend of mine has a laptop. It's about five years old, and it runs Windows XP. This means, inevitably, that it's a mess. My personal metric of measuring how rodgered a machine is by the number of icons in its system tray gave it a ten, and that's pretty nasty. Nevertheless, until last Friday, there was nothing wrong with it that an uninstall fest followed by a defrag wouldn't have fixed.
Enter the Internet Man
Last Friday, a chap called round to set up some broadband for my friend, who'd previously been on dial-up. I'm not going to name the ISP concerned, since it gives me more freedom to say nasty things about them, but suffice to say that they're big enough that they really should have done better.
Their engineer fixed the simple(ish) problem with wiring which was stopping the broadband from working, and what he should have done at that point was connect the laptop to the router (less than six inches away on the same desk) using the supplied ethernet cable, and left. What he actually did was shove the supplied CD in the drive, which helpfully installed a few hundred megabytes of crapware onto the machine, then hooked it up to the broadband via wireless. Then he left.
Despite the above totally unnecessary shoving of stuff onto it, the laptop struggled manfully on (system tray count now up to 12) and seemed superficially fine.
Enter Dragon Naturally Speaking
My friend makes extensive use of Dragon NaturallySpeaking, a voice-recognition product which seems to knock the socks off everything else on the market when it comes to actually coping with different accents. And it was here that the problem first manifested itself: trying to use Dragon to voice-control Internet Explorer caused it to crash with an error message along the lines of the one described in this Microsoft knowledgebase article.
Enter the sucker, stage left
At this point, I fetched up, and agreed to see if I could fix the problem. Although the above KB article looked ideal, being the first hit on Google when I exercised the too-useful-to-be-documented Windows feature of "Ctrl-C copies the text of the active dialog box to the clipboard", the hotfix it supplies claimed to be already present in service pack 3 of Windows XP. Just about the only virtue of this laptop was that it was fully up to date on patches and service packs, so what now?
Don't press that button
Being rather short on ideas at this point, I decided to fire up the nearest thing broken Win32 boxes have to a magic bullet, namely System Restore. The machine refused to roll back to any of the restore points at first, but restarting into safe mode fixed that, and it was soon rolled back to the Friday, at a time before the problem occured.
Unfortunately, Dragon now seemed completely broken, giving the error message described in this support article. And no, of course there were no backups, I hadn't taken one before I started, and my friend is no different to most of the non-geeky people I know in not backing up, except for dragging his holiday snaps onto CD once every six months.
To their credit (and they're about the only players in this story to be awarded any), Nuance's suggestion in the article of how to manually restore the user files for Dragon did work, after I rolled back the fatal system restore [or rather, didn't, because it didn't seem to have made a pre-restore restore point. Fortunately picking one from the Saturday seemed to work].
So, after two hours feeling my friend's anxiety at the thought of having to retrain the speech recog from scratch - not a pleasant accompinement to the sick, swoopy feeling we get when we know we've just permanently erased some irreplaceable data - we were back at square one with the original problem. One last shot in the dark, disabling the ISP's nasty extensions to IE, seemed to fix the issue.
So who do we blame here? Laptop vendors, for selling machines so laden with rubbish before they even leave the factory that DLL hell seems assured the minute they meet with real life usage? Or, we could blame the idiots who seem to write the nasty unsigned drivers for most hardware on the market. We can definitely blame the ISP's engineer for installing the crapware, but perhaps he'd been trained to, and anyway, why do ISPs think we need a CD full of crap to supplement the TCP/IP standard that's been around for several decades? Is it really asking too much of Johnny User to plug in a cable or enter some Wifi passwords in to the applet that's sodding well supplied with Windows, thus making the poorly writtten replacements from laptop manufacturers and ISPs alike completely superfluous? We could also blame Microsoft for making system restore not clever enough to cope with software like Dragon. Or possibly blame Nuance for not fixing or documenting what has apparently been a known incompatability for several versions of Dragon*.
Certainly, we can blame me. I clearly need to have "I will not agree to even slightly 'fix' someone else's computer without taking a full disk-image of it first" tattooed across my forehead. I also clearly need to reimmerse myself in the happy world of properly written software which I'm lucky enough to earn a living in and try to forget the horrors of the last 48 hours.
* The most useful reference I could find on Google was this page. The Nuance KB doesn't mention system restore. Then again, perhaps their customers simply don't know this is the cause of the issue, or don't get round to reporting it. It's not like I have.