Dancing with Elephants and Software Development

Elephant Shower
Elephant shower, a photo by kahunapulej on Flickr.

Over the weekend, I finally succeeded in getting the “free” Windows 8.1 update from Windows 8 installed on my desktop computer. It took about 7 tries. Why did I even bother? Because in the world of software development, it is kind of like dancing with elephants. It is safer to keep in step. Development tools work better. You find out earlier if there are issues with the new operating systems and other software that you need to deal with in your software. My latest upgrade to Mac OS X worked flawlessly the first time. Linux upgrades normally work flawlessly. So why was it so hard to upgrade Microsoft Windows? Perhaps because my hardware and software configuration was just far enough off of the beaten path that it contained something that the Microsoft software engineers, in spite of their awesome efforts, failed to anticipate. At least it did not harm my data or my computer in the process, other than making it unusable for an hour or two while it tried, stalled at a black screen of death that could only be broken with a power cycle, then rolled back, reporting that it couldn’t do what I asked it to do, and giving one tiny clue: the two hexadecimal numbers 0xC1900101-0x40019. I searched the Internet for solutions, and found that many people had the same problem, and many had solved the problem in various ways. Microsoft had even posted an official fix on their web site, involving fixing the master boot record using a bootable USB memory stick created with another working installation of Windows 8.1. I tried that. It didn’t work. Actually I tried lots of things. I did more research. One guy suggested sacrificing a chicken to some false gods, but I don’t do that. I did eat some chicken, though. The combination that finally worked was to uninstall any software that provided remote video access and remove all video drivers, unplug all USB devices, and try again. This time it worked. Sort of. It stalled out at a gray screen with a mouse pointer that actually moved, but did nothing useful. At that point, I selected Ctrl-Alt-Del and did an orderly restart, and then it worked. I could then reinstall a couple of missing pieces, hook up my USB devices, and carry on with electronic Scripture publishing.