Andy: Yeah, I can definitely see that. I’ve seen that in an embryonic sense already, and I can just see that as systems get more and more powerful and memory gets cheaper and cheaper and more dense, I could see having -- on a small, modest computer -- having 20, 50, 100 different setups, a couple of different QA ones with different configurations, testing the networking in between them in the box but pretending it’s a large grid cluster, whatever. Yeah, I could see that really becoming much more prevalent. I especially like the idea of extending version control to the operating system image level. This is a very powerful idea at Internet service providers (ISPs): You roll out some new bit of the stack or upgrade the operating system, and if it doesn’t work out, you just roll back to the previous image, and in a matter of minutes, you’re back to where you were and then you can go straighten it out again.
Look at some of these massive outages -- airline reservation systems or air traffic control or customs, most recently, I think was a big problem out in L.A. -- any of these kinds of headline-making outages because some software update failed somewhere and took the system down…it could certainly help ameliorate that sort of thing. And even on the developer’s desk, just having the freedom to say, “Well, let’s try it with all 14 different versions of this.” Yes, I think would help a great deal.
Ed: Can you give me an example of one of the really hard problems in computing today?
Andy: I think this is a two-fold thing. One problem is a cross between a cultural issue and a computing issue. The hard problem in computing, I don’t think, is stuff like facial recognition, voice recognition, trying to emulate these aspects of human senses. Yeah, they were a real pain, and a lot of researchers have spent a lot of time and a lot of energy trying to work it out, and they’ll figure it out someday, somehow. They’ve made great strides. These aren’t areas that I’m expert in, [and] they’re very hard, but they’re not the real hard ones.
The real hard one, to me, is getting any kind of a computer system to exhibit situational awareness and actual judgment. Getting some sort of a system that has any kind of situational awareness, I think, is the really hard part, because the danger you run into now as the computer becomes ubiquitous is you end up with an entire class of computer workers, not programmers, but the folks who work in fast food or banking or a call center, where they are genuinely slaves to the machine.