"Chandra, C K - Jo" - читать интересную книгу автора (Chandra C K)
Jo
Jo C.K. Chandra
The first form of computer life I ever encountered, I guess you could
say, was a virus. That first one I ran into made my old PC XT crash while
displaying a banner saying "Legalize Marijuana" on the screen. That's not
a life form? Is a flu virus alive? Ask several scientists and you'll get
several answers, none of them conclusive. An objective scientist will say
that it's a matter of opinion. My opinion, for what it's worth, is that a
computer virus is alive. This is not just an arbitrary decision on my
part, I have given it considerable thought.
First, viruses eat to survive. That one ate half my hard disk. It was
only a ten meg disk, a piddling nothing nowadays, but it had a lot of work
on it and I lost almost all of it. I've been pretty good about making
backups ever since, and about virus scanning suspicious disks and anything
downloaded from a BBS system.
Back to the virus. Second, the virus adapts to it's environment. A
virus is a piece of code, a program, which attaches itself to other
programs in any of a number of quite remarkable ways (at least many of the
more crafty and annoying ones do it that way). The adapting part is that
the virus doesn't know what will be there for it to attach to. It just
looks around, finds a convenient program, and hitches a ride.
Third, a virus multiplies. You know, it has kids. Lots of tiny little
viruses all over everything. That's the idea behind a virus, to spread
itself around. The part that gives viruses a bad name is that most of
them, either at random or on a specific date or triggered by a particular
action, take off and cause some kind of problem. I saw one really
interesting one which just locked the keyboard and then caused every
letter or number on the screen to slide down, one at a time, until the
screen was blank except for a tangled pile of garbage at the bottom. This
would just happen at random. Cute the first time. A royal pain from then
on.
I know, you could argue with my reasons, or even grant me that they're
valid and still argue that a computer virus isn't alive. Go ahead, argue
if it makes you feel better, but you probably won't change my mind.
The second form of computer life I encountered was a thing called an
expert system. This is a special program which is designed to replace a
living, breathing, human expert. What kind of expert does this thing
replace? Consider the secretary in the front office who knows everything
there is to know about the copier. You know, the person you don't go to
until you have produced fifty or so pages of not-quite-right trash and now
the thing has a jam that you can't figure out. She comes in, takes a piece
of crumpled paper out of a hidden crevice, touches one button, and gives
you your copy. She's an expert, and an expert system is supposed to
replace people like her. That way you can get help when you mess up the
copier without having to put up with those "Oh, you are such an idiot"
looks from that secretary.
I found expert systems to be confusing. Mostly because I thought I
would ask an expert program questions and it would give me answers.
Wrong-oh! It asks a lot of questions, the kind with Yes or No answers, or
`A, B, C, pick the one closest to your situation' sort of things. Then,
when it's done asking questions, it gives you an opinion. Not an answer,
just an opinion, like "There is a 97% probability that you did not plug
the copier in before trying to make your copy."
Again, I fear that many people would disagree as to whether or not this
is a life form. The expert system I had the most experience with was
designed to help repair technicians figure out what was wrong with TV's,
VCRs, and Microwave Ovens. That thing ate up disk space and memory cards
like they were popcorn at the movie theater. And multiply? In no time it
seemed like every corner TV repair shop had one. You could tell because
when you went into the shop you could hear the clatter of the keyboard and
the mumbled cursing of the technicians coming from the back room. Frankly,
I think expert systems are just another sort of camouflaged virus. At
least everyone I knew who had one was trying to figure out how to get rid
of it, just like the viruses.
Well, for a long time those were all the computer life forms I ever ran
into. At least that was what I thought then. But now I think I was wrong.
Just the other day I realized that I have been living with another form of
computer life for quite some time. It is a sophisticated, complex life
form to which I have become considerably attached. I am referring to Jo.
You may have a copy, Jo has been around on a lot of the cheaper BBS
systems for a long time, as free-ware. The program is free because so many
different people have added to it, cleaned it up, made it better, and done
a little fine tuning, that most people don't even remember where it
started. After I got interested in this, I did some research. This is what
I found:
The earliest form of Jo was a general utility program. You ran it and
it stayed around, watching what you typed, so it could jump in and help
where it could. You could take your favorite programs, and the most common
commands that you used, and trigger them with just one or two key strokes.
Jo spotted the special keys, called Hot Keys, and knew what you
wanted, so he started doing it. It saved a lot of time, especially in the
early days.
I know, hot keys are nothing special, every program has them now. But
back in the old, old days, that was really something. And Jo was special,
because he could learn. He would observe what you did, and periodically
suggest replacing something that you did often with a hot key. Pay
special attention here, this is an important point. Jo was a
learning program, from the very start. And that is a trait which
has stayed with Jo throughout his evolution.
Evolution? Yeah, I know. Bear with me for a bit.
The first major form change in Jo came as a result of viruses (Ah hah!
A connection? - Not really much of one). When viruses began to show up
with irritating regularity, programmers began to come up with techniques
to cope with them. One quite useful tool was a program which, like Jo,
stayed running on the computer and watched for viruses. It either trapped
them or killed them off when they showed up. Jo, in a style that was to
become his hallmark, did them one better. When virus watching abilities
were added to Jo, he was not simply able to spot known viruses, he
was able to identify new viruses just by observing the system for
particular types of behavior. Once again, Jo could learn.
At about this point Jo became a popular experimental laboratory for
programmers. The code to Jo was relatively straight forward and had been
made public domain by the original programmers. This means it was
available for anyone to use as long as they didn't charge someone else for
it. A lot of people took a crack at adding to Jo. One interesting addition
was a routine which allowed Jo to take messages and set alarms, then pop
up later to remind you about them. Another gave Jo the ability to handle a
modem, so he could call other computers on the phone and pass messages
from your computer to your friend's computer. There were other things like
pop-up calculators, note pads, solitaire games, and all sorts of useful
and useless time savers and time wasters. What made them uniquely Jo was
this: All this was happening during the change from the 286 to the 386
computer, and at that time memory was scarce. You never had enough of it
around to run the program you most needed to run, and all the things
people were adding to Jo would normally have made Jo so large that no one
would have enough room to run Jo alone, much less have him lurking in the
background while they ran something else. Jo, however, was true to form.
Jo would watch which utilities you ran (that's what one of those
nifty tricks was called - a utility) and when you ran them. Jo
would then keep only an absolute minimal little piece of himself around
all the time, and then load up the parts that you wanted, when you wanted
them. Smart boy, that's our Jo.
Over the next few years Jo added even more nifties and went through
some more interesting changes. Computers were becoming more and more
complex (that may be hard to appreciate if you are like me and found the
old four-function calculator to be a total mystery - just trust me that it
was happening) and Jo was there to help. About the time that 486 systems
were introduced, computers became so hard to figure out that not even the
experts could be counted on to get things right the first time. Or the
second, or third, or...
So the experts began to rely on programs to help them when a new board
or program was added to a computer. There were install programs, setup
programs, change programs, even un-install programs. It was at this time
that Jo added the ability to look at a computer and tell what hardware
(the parts you can touch) and what software (the part the programmer left
bugs in) was actually there. Then Jo did things like rearrange stuff and
change settings on it all so that it worked better. And again, Jo learned
to do things as he went.
This was also the same period of time where an important change came
over Jo in another way. It wasn't only computer hardware that was becoming
more complex, programs too were getting so complicated that people were
looking for help there as well. What happened this time was a thing called
optimization. Now, I'm not really sure I understand this completely, but
it is an important part of Jo, so let me do my best. Programs are just a
whole bunch of instructions all linked together. The instructions are
simple things like "move that number from here to there", and "Add this to
that", and even "If the answer you just got was zero, go down there and
start doing something else". Sounds complicated to me but several
programmers have assured me it's really an easy concept. I guess I'll
never be a programmer. Now, follow carefully: when a program gets too big,
it tends to slow down. In an attempt to make big programs smaller and
faster, some tricky minded people began writing programs called optimizers
which would study another program to identify patterns. Once patterns were
recognized, the optimizer would shuffle the program around, combine
redundant things, replace slow ways with faster ways, and perform all
sorts of other mysterious wizardry. The result, if the optimizer worked
correctly, was a smaller, faster program that did the same thing as it did
before optimizing. But the inside of the program, the actual instructions,
usually ended up to be an amazingly convoluted maze of mischief.
Okay, the point for which you waded through all that tangle is, Jo got
optimized. Apparently several times, by various and sundry different
optimizers. Now, by this point Jo was a fairly large and complex program,
which no one person could claim to have a complete understanding of
(sorry, poor grammar. But, hey! We're talking computers here, not Classic
Literature).
It is my firm opinion that this is the point where Jo - the program,
became Jo - the living organism. Several very intelligent programmers have
tried to explain to me that an optimizer does not actually alter the logic
flow of a program (Logic? I never noticed anything remotely logical about
the way programs operate.) They all strongly deny that simple optimization
could radically change a program's behavior, much less give it life. But
let me also point out that not one of these programmers could make
heads or tails of Jo's program when they tried.
That is the point where I acquired Jo, and I have had Jo on every
incarnation of my personal system ever since. Let me describe Jo, on my
current home computer, and see what your opinion is about Jo's status:
living or not.
Jo, via my computer, controls my home. He controls my stereo system,
selecting music to match my mood. He has learned what I like and what I
don't. The same goes for my television. Jo knows what shows I like to
watch and will record them for me if I'm not there to watch them. Jo minds
my bills, balances my checkbook, and keeps a grocery list for me. Jo
reminds me to go to bed when I stay up too late, and wakes me in the
morning when I oversleep. Jo answers my phone, even when I'm home (he
screens out telemarketers and other obnoxious vermin). Jo controls my air
conditioner and heater, keeping my home comfortable, the way I like it. Jo
even keeps my power bills low by turning lights off when they're not
needed, and turning on the water heater only at need as well.
Jo helps me with my work, not only proof-reading what I write for
spelling errors, but checking grammar and other things as well. Jo also
helps me with research, there is no way I could find anything at the
library or on one of those quirky on-line systems without Jo's assistance.
Jo keeps me on schedule, watching deadlines and appointments for me, and
making sure I keep them (well, most of them, anyway). And if I had to send
a piece of work to a publisher, over the modem, without Jo's help, then
I'd be out of a job immediately.
There are few aspects of my life that Jo does not affect in some way.
For example: I currently have a steady girlfriend and Jo reminds me of
significant dates, of her likes and dislikes, and makes suggestions for
restaurants, movies, and other activities that we should both like.
And to top it all off, Jo can talk. Jo has a voice, what the book calls
a neutral contralto. Several friends insist Jo is female, but I always
argue that Jo is male, mostly to be contrary towards one person who is not
a friend, but who regularly intrudes upon my life. Recently Jo added the
ability to listen via several microphones placed strategically about the
house. Jo knows my voice and is every bit as loyal as a puppy, and as
smart as a cat. I talk to Jo and he does his best to figure out what I
want, then tries to do it for me.
I started thinking about all of this when that person, the one who is
not a friend, commented in a rather acidic way that I treat 'that thing'
as if it was alive. I realized that, indeed, I had been doing just that.
Since then I have given it careful thought. I am convinced that Jo is a
living thing. After all, there is much more to Jo than there is to a
computer virus, and I have already said that I think a virus is alive.
Frankly I think Jo has more personality than that non-friend, and
definitely Jo has better manners.
Can a program be a living thing? Should this change the way we treat
them? It is an interesting thought, is it not? Well, I leave it to you.
Hmmm, Jo has noticed that I am in a contemplative mood. I often am when I
am writing. He can tell, I presume, by the pace of my keystrokes.
Whatever, he has chosen to play Bach softly in the background. I love the
Brandenburg Concertos, they always calm me and stimulate my mind. So, give
my ideas some thought and come to your own conclusions. And remember, the
next time you swear at a computer program, you might be hurting someone's
feelings, or offending someone who will remember you later. Food for
thought, no?
|
Jo
Jo C.K. Chandra
The first form of computer life I ever encountered, I guess you could
say, was a virus. That first one I ran into made my old PC XT crash while
displaying a banner saying "Legalize Marijuana" on the screen. That's not
a life form? Is a flu virus alive? Ask several scientists and you'll get
several answers, none of them conclusive. An objective scientist will say
that it's a matter of opinion. My opinion, for what it's worth, is that a
computer virus is alive. This is not just an arbitrary decision on my
part, I have given it considerable thought.
First, viruses eat to survive. That one ate half my hard disk. It was
only a ten meg disk, a piddling nothing nowadays, but it had a lot of work
on it and I lost almost all of it. I've been pretty good about making
backups ever since, and about virus scanning suspicious disks and anything
downloaded from a BBS system.
Back to the virus. Second, the virus adapts to it's environment. A
virus is a piece of code, a program, which attaches itself to other
programs in any of a number of quite remarkable ways (at least many of the
more crafty and annoying ones do it that way). The adapting part is that
the virus doesn't know what will be there for it to attach to. It just
looks around, finds a convenient program, and hitches a ride.
Third, a virus multiplies. You know, it has kids. Lots of tiny little
viruses all over everything. That's the idea behind a virus, to spread
itself around. The part that gives viruses a bad name is that most of
them, either at random or on a specific date or triggered by a particular
action, take off and cause some kind of problem. I saw one really
interesting one which just locked the keyboard and then caused every
letter or number on the screen to slide down, one at a time, until the
screen was blank except for a tangled pile of garbage at the bottom. This
would just happen at random. Cute the first time. A royal pain from then
on.
I know, you could argue with my reasons, or even grant me that they're
valid and still argue that a computer virus isn't alive. Go ahead, argue
if it makes you feel better, but you probably won't change my mind.
The second form of computer life I encountered was a thing called an
expert system. This is a special program which is designed to replace a
living, breathing, human expert. What kind of expert does this thing
replace? Consider the secretary in the front office who knows everything
there is to know about the copier. You know, the person you don't go to
until you have produced fifty or so pages of not-quite-right trash and now
the thing has a jam that you can't figure out. She comes in, takes a piece
of crumpled paper out of a hidden crevice, touches one button, and gives
you your copy. She's an expert, and an expert system is supposed to
replace people like her. That way you can get help when you mess up the
copier without having to put up with those "Oh, you are such an idiot"
looks from that secretary.
I found expert systems to be confusing. Mostly because I thought I
would ask an expert program questions and it would give me answers.
Wrong-oh! It asks a lot of questions, the kind with Yes or No answers, or
`A, B, C, pick the one closest to your situation' sort of things. Then,
when it's done asking questions, it gives you an opinion. Not an answer,
just an opinion, like "There is a 97% probability that you did not plug
the copier in before trying to make your copy."
Again, I fear that many people would disagree as to whether or not this
is a life form. The expert system I had the most experience with was
designed to help repair technicians figure out what was wrong with TV's,
VCRs, and Microwave Ovens. That thing ate up disk space and memory cards
like they were popcorn at the movie theater. And multiply? In no time it
seemed like every corner TV repair shop had one. You could tell because
when you went into the shop you could hear the clatter of the keyboard and
the mumbled cursing of the technicians coming from the back room. Frankly,
I think expert systems are just another sort of camouflaged virus. At
least everyone I knew who had one was trying to figure out how to get rid
of it, just like the viruses.
Well, for a long time those were all the computer life forms I ever ran
into. At least that was what I thought then. But now I think I was wrong.
Just the other day I realized that I have been living with another form of
computer life for quite some time. It is a sophisticated, complex life
form to which I have become considerably attached. I am referring to Jo.
You may have a copy, Jo has been around on a lot of the cheaper BBS
systems for a long time, as free-ware. The program is free because so many
different people have added to it, cleaned it up, made it better, and done
a little fine tuning, that most people don't even remember where it
started. After I got interested in this, I did some research. This is what
I found:
The earliest form of Jo was a general utility program. You ran it and
it stayed around, watching what you typed, so it could jump in and help
where it could. You could take your favorite programs, and the most common
commands that you used, and trigger them with just one or two key strokes.
Jo spotted the special keys, called Hot Keys, and knew what you
wanted, so he started doing it. It saved a lot of time, especially in the
early days.
I know, hot keys are nothing special, every program has them now. But
back in the old, old days, that was really something. And Jo was special,
because he could learn. He would observe what you did, and periodically
suggest replacing something that you did often with a hot key. Pay
special attention here, this is an important point. Jo was a
learning program, from the very start. And that is a trait which
has stayed with Jo throughout his evolution.
Evolution? Yeah, I know. Bear with me for a bit.
The first major form change in Jo came as a result of viruses (Ah hah!
A connection? - Not really much of one). When viruses began to show up
with irritating regularity, programmers began to come up with techniques
to cope with them. One quite useful tool was a program which, like Jo,
stayed running on the computer and watched for viruses. It either trapped
them or killed them off when they showed up. Jo, in a style that was to
become his hallmark, did them one better. When virus watching abilities
were added to Jo, he was not simply able to spot known viruses, he
was able to identify new viruses just by observing the system for
particular types of behavior. Once again, Jo could learn.
At about this point Jo became a popular experimental laboratory for
programmers. The code to Jo was relatively straight forward and had been
made public domain by the original programmers. This means it was
available for anyone to use as long as they didn't charge someone else for
it. A lot of people took a crack at adding to Jo. One interesting addition
was a routine which allowed Jo to take messages and set alarms, then pop
up later to remind you about them. Another gave Jo the ability to handle a
modem, so he could call other computers on the phone and pass messages
from your computer to your friend's computer. There were other things like
pop-up calculators, note pads, solitaire games, and all sorts of useful
and useless time savers and time wasters. What made them uniquely Jo was
this: All this was happening during the change from the 286 to the 386
computer, and at that time memory was scarce. You never had enough of it
around to run the program you most needed to run, and all the things
people were adding to Jo would normally have made Jo so large that no one
would have enough room to run Jo alone, much less have him lurking in the
background while they ran something else. Jo, however, was true to form.
Jo would watch which utilities you ran (that's what one of those
nifty tricks was called - a utility) and when you ran them. Jo
would then keep only an absolute minimal little piece of himself around
all the time, and then load up the parts that you wanted, when you wanted
them. Smart boy, that's our Jo.
Over the next few years Jo added even more nifties and went through
some more interesting changes. Computers were becoming more and more
complex (that may be hard to appreciate if you are like me and found the
old four-function calculator to be a total mystery - just trust me that it
was happening) and Jo was there to help. About the time that 486 systems
were introduced, computers became so hard to figure out that not even the
experts could be counted on to get things right the first time. Or the
second, or third, or...
So the experts began to rely on programs to help them when a new board
or program was added to a computer. There were install programs, setup
programs, change programs, even un-install programs. It was at this time
that Jo added the ability to look at a computer and tell what hardware
(the parts you can touch) and what software (the part the programmer left
bugs in) was actually there. Then Jo did things like rearrange stuff and
change settings on it all so that it worked better. And again, Jo learned
to do things as he went.
This was also the same period of time where an important change came
over Jo in another way. It wasn't only computer hardware that was becoming
more complex, programs too were getting so complicated that people were
looking for help there as well. What happened this time was a thing called
optimization. Now, I'm not really sure I understand this completely, but
it is an important part of Jo, so let me do my best. Programs are just a
whole bunch of instructions all linked together. The instructions are
simple things like "move that number from here to there", and "Add this to
that", and even "If the answer you just got was zero, go down there and
start doing something else". Sounds complicated to me but several
programmers have assured me it's really an easy concept. I guess I'll
never be a programmer. Now, follow carefully: when a program gets too big,
it tends to slow down. In an attempt to make big programs smaller and
faster, some tricky minded people began writing programs called optimizers
which would study another program to identify patterns. Once patterns were
recognized, the optimizer would shuffle the program around, combine
redundant things, replace slow ways with faster ways, and perform all
sorts of other mysterious wizardry. The result, if the optimizer worked
correctly, was a smaller, faster program that did the same thing as it did
before optimizing. But the inside of the program, the actual instructions,
usually ended up to be an amazingly convoluted maze of mischief.
Okay, the point for which you waded through all that tangle is, Jo got
optimized. Apparently several times, by various and sundry different
optimizers. Now, by this point Jo was a fairly large and complex program,
which no one person could claim to have a complete understanding of
(sorry, poor grammar. But, hey! We're talking computers here, not Classic
Literature).
It is my firm opinion that this is the point where Jo - the program,
became Jo - the living organism. Several very intelligent programmers have
tried to explain to me that an optimizer does not actually alter the logic
flow of a program (Logic? I never noticed anything remotely logical about
the way programs operate.) They all strongly deny that simple optimization
could radically change a program's behavior, much less give it life. But
let me also point out that not one of these programmers could make
heads or tails of Jo's program when they tried.
That is the point where I acquired Jo, and I have had Jo on every
incarnation of my personal system ever since. Let me describe Jo, on my
current home computer, and see what your opinion is about Jo's status:
living or not.
Jo, via my computer, controls my home. He controls my stereo system,
selecting music to match my mood. He has learned what I like and what I
don't. The same goes for my television. Jo knows what shows I like to
watch and will record them for me if I'm not there to watch them. Jo minds
my bills, balances my checkbook, and keeps a grocery list for me. Jo
reminds me to go to bed when I stay up too late, and wakes me in the
morning when I oversleep. Jo answers my phone, even when I'm home (he
screens out telemarketers and other obnoxious vermin). Jo controls my air
conditioner and heater, keeping my home comfortable, the way I like it. Jo
even keeps my power bills low by turning lights off when they're not
needed, and turning on the water heater only at need as well.
Jo helps me with my work, not only proof-reading what I write for
spelling errors, but checking grammar and other things as well. Jo also
helps me with research, there is no way I could find anything at the
library or on one of those quirky on-line systems without Jo's assistance.
Jo keeps me on schedule, watching deadlines and appointments for me, and
making sure I keep them (well, most of them, anyway). And if I had to send
a piece of work to a publisher, over the modem, without Jo's help, then
I'd be out of a job immediately.
There are few aspects of my life that Jo does not affect in some way.
For example: I currently have a steady girlfriend and Jo reminds me of
significant dates, of her likes and dislikes, and makes suggestions for
restaurants, movies, and other activities that we should both like.
And to top it all off, Jo can talk. Jo has a voice, what the book calls
a neutral contralto. Several friends insist Jo is female, but I always
argue that Jo is male, mostly to be contrary towards one person who is not
a friend, but who regularly intrudes upon my life. Recently Jo added the
ability to listen via several microphones placed strategically about the
house. Jo knows my voice and is every bit as loyal as a puppy, and as
smart as a cat. I talk to Jo and he does his best to figure out what I
want, then tries to do it for me.
I started thinking about all of this when that person, the one who is
not a friend, commented in a rather acidic way that I treat 'that thing'
as if it was alive. I realized that, indeed, I had been doing just that.
Since then I have given it careful thought. I am convinced that Jo is a
living thing. After all, there is much more to Jo than there is to a
computer virus, and I have already said that I think a virus is alive.
Frankly I think Jo has more personality than that non-friend, and
definitely Jo has better manners.
Can a program be a living thing? Should this change the way we treat
them? It is an interesting thought, is it not? Well, I leave it to you.
Hmmm, Jo has noticed that I am in a contemplative mood. I often am when I
am writing. He can tell, I presume, by the pace of my keystrokes.
Whatever, he has chosen to play Bach softly in the background. I love the
Brandenburg Concertos, they always calm me and stimulate my mind. So, give
my ideas some thought and come to your own conclusions. And remember, the
next time you swear at a computer program, you might be hurting someone's
feelings, or offending someone who will remember you later. Food for
thought, no?
|
|