Helping Computers Help Themselves
Jim Posner writes "The IT world's heavy hitters--IBM, Sun, Microsoft, and HP--want computers to solve their own problems.....If you're being chased by a big snarling dog, you don't have to worry about adjusting your heart rate or releasing a precise amount of adrenaline. Your body automatically does it all, thanks to the autonomic nervous system, the master-control for involuntary functions from breathing and blood flow to salivation and digestion." I'd just be happy with a few intelligent daemons to watch my back, like when a program runs amuck and fills up the process list.
on the physical level, don't computers already have this? temperature controls, anyone?
So basically they want a sort of A.I. This is news? A.I. research has been around for years.
There are only 10 kinds of people in this world... those who understand binary and those who don't
Well... when they reduce costs by eliminating people-jobs.. to the maximum extent.. everything will be free and no one will have to work anyways..
This made me look fore more info on this guy (Robert Morris), here is an interview. He seems like a good guy in good position.
While it may seem like a great idea at first, this is a pretty dangerous concept. Doesn't anyone remember 2001, when HAL decided to get rid of his problems by eliminating all the people around him? Right when these computers realize they are fine until people start making demands on them, we're in deep trouble.
an example: This new computer sees that whenever Sally opens up her word processor, the sound driver crashes.. after struggling to figure out why the driver crashes, with no avail, the computer realizes that the problem is solved if Sally isn't around anymore to open up word processors.
I wish i didn't have to add a "this is humour" tag at the bottom of this, but here it is.
Not likely, at least not any time soon. This article is not really describing a new phenomenon. The basic trend is all computing is to start with something that does a simple task, but is terribly difficult to install and run, and slowly make it easier. You remove the points where the end-user has to interact with the system if those interactions could have been easily figured out by the computer. This kind of optimization has been going on since computers were born, but despite all the progress, the tech industry has done nothing but grow.
So Sun and IBM are turning their attention to some particular area that needs more optimizations... this just means that in ten years, there is going to be a higher level of abstraction with the same problems to solve. I'll have to figure out how to my new McDonalds chain can just plug some new computers into a wall and have their order menus popup instantly... great for productivity, great progress, but it hardly cuts into the demand for technically skilled people.
Of course, intuitively there must be some point where the optimizations made start cutting into jobs. My feeling though is that we are still working on some of the most basic problems of computing, and it will be quite a long time before we reach the peak of this curve. I mean, a big focus of the article is how to most efficiently get data out of databases! We all take for granted that this is (currently) a very tricky issue. Imagine looking back in twenty years though... it's easy to imagine that we'll laugh at having to think about such basic issues at all. "Configuring a network? Gimme a break, piece of cake! Connect some wires and you're done!" we'll say. And yet it's easy to imagine that despite having solved all of these problems, we will still be faced with a set of complicated issues of the day to solve to utilize these features. We're still working out how to move information around efficiently. And this is just a discussion about how to move information around efficiently. We're not even getting into applications and what to do with that information once you have it.
Then someone will write an article about how IBM is focusing on the problems of that day, and is going to make it easy to handle *that* level of abstraction. We'll read that configuring interactions between networks to transparently and securely utilize excess CPU in your neighborhood, or your city, is going to be a breeeze, and we'll have this discussion all over again...
haha and you wouldnt believe it, I was almost expecting this one.
:
Your argument is analogous to the ones who opposed computerization in the 80s. Banks, shopping centres name it - computers would replace Humans ! more humans would lose their job was their argument.
The fact is that jobs are created in other ways
1)In efforts at automation.
2)Improving what has already been automated
3)Support of the automated product
The last point point is from that fact that if every cashier at the stores were replaced by robots - you would still want to see the manager when you have problems. Machines after all run by definition of finite set of rules, anything beyond that would call for human intervention or support.
Siggy Say, Siggy Do
How about a word processor that will automatically correct me when I type "the" instead of "the"? I mean THE. THE THE THE. T-E-H, there. Oh wait, they already have that, and it's the most annoying feature ever. When you get computer that think they know what's best for you, bad things are going to happen. Even with something as simple as TEH. Imagine if it was advanced things like too many processes, think how much of an obscure problem it would be for a novice user to track down when they really do want too many processes? Anyway, I think it's a bad idea.
The article also touches automatic database tuning depending on the actual use of the database. I look forward to a database which automatically modifies the schema when it finds that a parent table always joins with a child table with referential constraints.
IBM has previously introduced self-healing servers that essentially are able to detect that something has gone awfully wrong and therefore reboots. It may not be an elegant solution, but if it works the customer is happy.
All this is part of an evolution in software, or a "next step" in software implementation. The steps are:
Examples:
Out of diskspace when you download your email. The email program should find some spare diskspace somewhere on another partition or extend the current partition.
foo-1.7 requires bar-1.2. rpm should automatically downloads bar-1.2. Preferrably from a computer on the same lan that already has bar-1.2
A node in a cluster is overloaded. The cluster software should move applications/services to another node.
A HTTP server is using too much bandwidth. It should automaticall service images with less quality (and therefore use less bandwidth)
I look forward to it. It would allow me to let the computers monitor themselves and fix most problems without pestering me. And then I could use my time for something much more interesting than looking in /var/log/*, restarting failed applications, etc.