pmb

All systems have bugs

Dec 23, 2006 14:11

mycrust had a half-snarky comment about helping his father-in-law fix the family entertainment system, and it made me go on a tear. Because there's a pretty deep issue here, and it pleasantly touches on lots of stuff close to my heart. But I think I should start by pointing out that the fix to the problem involved some small mucking-about with the remote control, and that the problem was not with the TV, but with the entertainment system. And systems are governed by software and both of them have bugs. People are used to the problems being in the hardware, when nowadays the software is usually at fault. It's not that the hardware has gotten any better, it's that the software has become omnipresent and SO BAD.

  • My cell phone requires a soft reboot every now and then.
  • High end consumer electronics now communicates using a completely stupid digital handshake protocol that is not robust to single bit errors.
  • Televisions take 10 or more seconds to start up because their OS must boot up.
  • My cable modem requires a hard reboot every month or so. (So does my Airport, but at least there's obviously software involved there.)
  • Mercedes had to recall a bunch of cars in order to upgrade the OS to one that was less buggy and that wouldn't interfere with safe operation of the vehicle.
  • Rotting leaves led to buildup of guck on train wheels and tracks that interfered with the electrical connection, and led the train software to believe it was getting derailed, locking the brakes and causing the wheels to skid, thus causing TRAINS to get FLATS.

Our world no longer consists solely of objects, it consists of systems. Objects, when they have a flaw, are found defective and fixed. Systems, when they have a bug, are adapted, worked around, lived-with, or half-fixed. People used to the reliable dependency of objects are generally at a complete loss with buggy systems. Systems are so complex and eldritch that we must depend on experts. It literally takes years of poking to get a feel for how to fix a system. I am, not to put too fine a point on it, a computer ninja, but I am at a loss every day when I deal with problems on my PC - I fix them, and I eventually figure it out, but it truly feels like I start every day from almost entirely anew. I understand how every piece works, but their almost innumerable combinations into the operating system I use is byzantine and horrifying. But I knew and know what I was getting into.

Lot's of people buy systems while they are expecting objects, and are then horrified at the way the whole thing only mostly works. Objects are perfectible. Systems are not. People understand that the tax code is essentially imperfectible. But people don't really realize that the source code for a modern operating system is just as complicated and large, and people REALLY don't realize how much software they are surrounded by.

Systems/software problems are a modern invention - or at least their current explosion into daily life is. Several times in CS 101 I had students encounter really obscure bugs, and they had no frame of reference to understand what was wrong. I just had to tell them that there was a reason it was doing that, and that it was too complicated to go into at this time. But, really, the problem was so kooky that you needed both a degree in CS and several years of practical programming experience to understand what was going on. If that can happen in CS 101 with a teacher trying to guide them, imagine how much trouble the neophyte is in when they have no teacher and no idea that they aren't dealing with something necessarily fixable and are operating on real-world problems.

We have no cultural history for fixing entertainment systems - televisions and VCRs and cable TV. No father ever retired to his workshop for the weekend doing projects with his child where, in a sidelong fashion, he explained the problems inherent in HDMI and HDCP and recommended component video or VGA cables as the solution going forward as they programmed the ol' VCR together. Technology moves too fast for knowledge to spread like woodworking knowledge. It even moves too fast for it to spread through textbooks. Computer books are the thickest, most quickly produced books you've ever seen, but for almost all of them are dated before they come to rest on the shelves at the local megachain bookstore. We have no way of transferring enough knowledge of these systems at a pace that is fast enough to be genuinely useful.

So we're left in a place where the only real skill is adaptability and the only useful knowledge is of the imperfectibility of the systems we encounter. All we can do is hope that the system is useful for what WE want to use it for. The idea that we could set it up "right" is as laughable and ill-founded as the idea that modern televisions could be fixed with wiring diagrams and soldering irons and good old fashioned know-how.*

Perhaps this is how we know we have truly entered the post-modern era. Our dreams of perfection have been brought to their knees by the sheer twitchiness and buggyness of our systems.* - note that this statement is correct in that it is, for some miniscule subset of component combinations, possible to set them up "right", and that it is, for some miniscule number of problems, possible to fix modern electronics with a soldering iron and some attitude. But nobody ever does this, and it's not clear that it's worth it. The adaptability and extra features seem to be worth the uncertainty and replacement expense for most people.
Previous post Next post
Up