All systems have bugs
Dec. 23rd, 2006 02:11 pm- 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.
no subject
Date: 2006-12-24 01:53 am (UTC)no subject
Date: 2006-12-24 04:23 am (UTC)no subject
Date: 2006-12-24 05:43 am (UTC)no subject
Date: 2006-12-24 06:47 am (UTC)Also for the particular system that is the economy, I believe that in practice it turns out that very few input tweaks either a) do what you want them to, or b) improve things. But that is a purely empirical claim, not a general one about systems.
no subject
Date: 2006-12-24 08:16 am (UTC)On the other end of things, I've become amazed at how simple most things are. I've recently taken a new job where we, among other things, may start working on the controls system for a proton cancer therapy. This is the system where we shoot positively charged atoms at cancer to kill it. So, we read back some data, adjust some magnets, and boom, we shoot cancer. It's not that simple, but really, it's not that hard.
~Pete
Who told the software guy yesterday, "If we can put a rocket on the moon, we can get reliable USB data."
no subject
Date: 2006-12-24 08:29 am (UTC)Is your program running on an OS? Is the OS Windows? Please say it's not. MS Windows controlling medical equipment gives me the willies.
no subject
Date: 2006-12-24 04:44 pm (UTC)no subject
Date: 2006-12-24 05:01 pm (UTC)no subject
Date: 2006-12-24 02:55 pm (UTC)Increasingly I see a trend towards software that phones home when it crashes, and auto-upgrades itself when a new version is released [*]. Mozilla and Windows both do this, for example, and Google Airbag is a general purpose error-reporting system for this purpose.
This gets the knowledge of what has gone wrong to the people who can most efficiently utilize it, and also gets the fixes to the consumers ASAP.
Microsoft has had this system in place for quite a few years now and has used it to very good effect. More often than not, if Windows 2000 or Windows XP crashes, it is, in fact, a hardware or third-party driver problem.
no subject
Date: 2006-12-24 09:03 pm (UTC)But I am all for software phoning home when it crashes. When I developed software for a living, I used to receive an email EVERY TIME it crashed.
no subject
Date: 2006-12-24 09:12 pm (UTC)no subject
Date: 2007-01-03 12:06 am (UTC)The other relevant trend re the same comment, though, is the rising popularity of wikis and blogs—and even the old message board seems to be gaining a bit. Very recent information available on a wide range of topics, and if you can't find it, you can ask and often receive. Of course, this has a higher rate of useless or even damaging info than most instruction manuals or even an experienced father, but it's a start. People are trying.
no subject
Date: 2006-12-28 03:13 am (UTC)no subject
Date: 2007-01-26 02:31 am (UTC)I know that to even ask if there is a perfect system is idealistic. But the thing is, we need a good enough system that would work perfectly for us. I am not just talking here about technology, but system as a whole.
patrissimo : “I hate it when people think of the economy as an object rather than a system.”
So do I.
Bardan Dorminc
http://www.fastcashadvanceonline.info
(http://www.findmypaydayloanonline.info)