From: mojo@Caere.COM (Morris Jones)
Newsgroups: news.newusers.questions
Subject: Re: I'm a Moron, Part Two
Date: 24 Jul 92 18:38:09 GMT
Organization: Caere Corp.

I don't know how you can get much simpler than Spaf's document.
Hmmm....

Unix comes with this neat facility called "uucp" that let's a user on
one machine send a file to another machine, or execute a command on the
other machine, over the phone line.  It takes a lot of time to set up,
and it's known for being tricky and prone to failure, but it works, and
it's nifty.  (It means Unix-to-Unix-CoPy)

So someone at these two schools that were both using Unix machines (I
forget, Duke and Brown?  Whatever, the names are in Spaf's document)
decided they could use uucp to distribute bulletins to each other,
articles in the form of text files.  Someone would write a bulletin on
one machine, and the software they wrote would automatically forward
the article to the other machine, so users on both machines could read
the article.  If someone wanted to make a comment, or reply, he would
write another article, and it too would be sent to the other machine.
They found this a reasonably productive way to conduct a dialog.

Soon enough, someone else wanted into the act.  So they added a
connection to another school, and another, and so on.  If someone
posted an article on the machine at Duke, that machine would send it to
Brown.  Brown's machine might send it to Yale and Harvard.  And so on
and so on.  After a while all the machines would have the article, and
everyone could read it.  Those people would read the article and write
more commentary, and those would be sent around the same way.

Naturally everyone had complaints about the software, and wanted more
features, and kind-hearted souls took it on themselves to write better
versions.  They do it as a hobby.  It's amazing.  People even wrote
standards for how news articles should look and be passed around.
(Take a look at an article's full header sometime.)

AT&T even got into the act, especially since they owned Unix and uucp.
They found ways to use news and mail in the company, and quickly became
the largest business user of news.

This is the Usenet.  It started like that, and it grew and grew, one
machine at a time.  Whenever someone would buy a Unix machine, he'd
find that it came with this nifty utility for talking to another Unix
machine.  So he'd find someone else with a Unix machine nearby, and
have his machine call their machine and so on.  People started making
maps of the Unix machine connections (Peter Honeyman) and publishing
them, because if I knew that Sid's machine talks to Herb's machine, and
I can talk to Herb's machine too, then I can send mail to Sid.  It
might take a while, but it'll get there eventually.

How does uucp work, really?  It's like this:  Every minute, Unix checks
a file of "things to do at certain times" and looks for things to do
now.  Every so often, one of the "things to do" is "call Bob and see if
he has anything for me."  So Unix starts up the process, called uucico
(for UUcp Copy In, Copy Out).  Uucico takes over one of the serial
ports, connected to a modem, and dials up Bob.  Bob's machine answers
the phone and says "login:".  Bob gave me a login ID and a password to
use just for this purpose, so uucico gives the name and password.

Now most people would get a command prompt at that point, but for my
special login ID, Unix doesn't run the command shell, instead it runs
its own copy of uucico.  Bob set it up this way for me.

Bob's uucico says "I'm here, are you there?"

My machine says "Hi, this is me."

His machine says "oh!  I know you.  Do you have anything for me?"

"Yes, I have a file to send."

"Okay, send it."  So I do.  And then I say, "That's the end of that
one, and I have no more files.  Do you have anything for me?"

And Bob's machine says, "Yes, I have a file ..." And so on and so
forth.  Eventually all the files are passed, and both uucico processes
hang up the phone and wait 'til next time.

This was all well and good.  And with a few machines and 1200 baud
modems, lots of people could read the news.  But it wasn't long before
there were lots more people reading news, and lots more, and things
started to get cramped.  Lots of companies had Unix users, and they
wanted to read the news too.  So in their spare time, people would find
some disk space to hold the news, and they'd get the news programs
(they give 'em away free!) and they'd find someone in their
neighborhood who already had the news and was willing to send it to
them.  It spread like a rumor.

Later as machines started to get connected by faster networks, people
found ways to move the news articles over those networks.  Now news and
mail are moved all over the country not just by uucp but by the NSF
net, and on private wide area networks, and in companys on ethernets,
and all sorts of ways.  Any time two computers have a way of
communicating, someone will find a way to move news that way.

How does the news software work?  There are lots of programs that work
together.  I already talked about how uucp works to move files.  Well
one of those files may have a special name that says "I'm a command
file.  Execute me."  So when all the files are transferred, uucp opens
the command file and tries to execute the commands in it.  One such
command might be "Run the news software on that other file I sent you,
and here's the file name ..."

So one of the uucp programs executes the news software, called rnews, and
directs it to the other file.  The news file is in a very precise
format so rnews knows what to expect.  It finds an article and gets the
newsgroup, or it may find lots of articles in a batch.  It separates
the articles into individual files and stores them on the disk in a
predefined place.  It also gives the article a serial number and
records the number in a log.

Later on someone will run a news reader program.  There are lots of
them available.  The news reader knows how to read the log and find the
articles on the disk, so it presents the articles to the user according
to his commands.

Now if you just kept doing this, it seems like your disk space for news
would grow and grow until there was no more room.  And that's true.
But every night, in that file of "things to do at certain times," Unix
runs a command called "expire," that looks at the log of news
articles.  It looks for articles that have gotten old, and it scurries
around the disk deleting them.  All to make room for new articles.  So
hopefully, my machine never runs out of disk space to store the news!

Likewise there are programs for posting news, and lots of little
programs for doing maintenance on the news.  And there are control
files for the programs, that tell which machines to send certain
newsgroups to, and how long to keep news in different groups.

And so the net grew and grew and grew.  And now it's enormous, but
still growing.  People have found ways to move the news software to
other machines besides Unix.  Other news type networks have grown using
personal computers that call each other (Fidonet).  People like to
communicate, and people like reading the news.

But, shhhh!  Don't tell the bosses what they're doing with their
computers!  Computers are made for serious work, after all, and people
shouldn't be having fun with them!

Now go to sleep, and tomorrow night I'll tell you the story of AT&T,
ihnp4, seismo, and the Uunet.  :)

Mojo
-- 
Morris Jones
Caere Corp.
mojo@caere.com