Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ACN 8-1: Interview with Tom Truscott

0 views
Skip to first unread message

Jay Robert Hauben

unread,
Aug 21, 1998, 3:00:00 AM8/21/98
to

[1] On the Environment
and Early Days of Usenet News
by Ronda Hauben
au...@cleveland.freenet.edu

[Editor's Note: Following is an edited interview by Ronda Hauben
with Tom Truscott, one of the pioneers who created Usenet. It is
based on an e-mail exchange.]

Ronda: First can you say a little about your background and
interests in computer science before you became involved in
Usenet?

Tom: As an undergraduate I got interested in writing a computer
chess program. I don't play chess well but my chemistry lab
partner did and so we undertook a multi-year project to write a
chess program that could beat Bobby Fisher (my goal) or at least
be able to beat a rank amateur (partner Bruce Wright's goal).

Ronda: How did you become interested in computer chess? You have
said it wasn't that you were interested in chess itself.

Tom: Well, I'm not sure. Here is rambling speculation. As a kid
I did not read much, but some things caught my imagination. One
was a short story, Danny Dunn and the Homework Machine. (I think
Danny Dunn was a kid who invented all kinds of fun stuff.) I
thought that this would be a neat machine to have. I realize it
is a big leap from homework to chess playing, but somehow it
makes sense to me .
My first chance to use a computer (an interactive BASIC
system) was in a summer program between junior and senior years
of high school. My first large program played checkers. It didn't
play all that well, but it seemed to have potential. As a Duke
freshman my chemistry lab partner was Bruce Wright, an excellent
chess player.
I told him we could write a computer chess program that
would beat Bobby Fisher.
He didn't think so, but we started writing the program
anyway. I was interested because of the computing challenge and
no doubt the fame that we would garner by defeating Fisher, and I
guess Bruce was interested because he wanted to learn computing.
We spent a LOT of time writing it, and we learned a lot about how
not to write programs.
I guess one thing about computer game programs is that they
are like robots a somewhat autonomous thing.
At tournaments the program tells me what moves to make for
it, asks me how much time it has left on the clock, stuff like
that. And writing a software robot is a lot easier than building
a real one. Why I (and other people) find robots fascinating is
beyond me, but there it is.

Ronda: I have read some articles from the 1970s that describe how
computer chess was understood as something important. Did you
have that sense?

Tom: Yes, and we had the incentive to believe that because
computer chess was far too expensive to be a mere hobby. From a
computational point of view, chess and checkers are remarkably
similar problems. And the world's best checkers player is still a
human. But just try asking Columbia (i.e. some university -Ed.)
for plane tickets to a computer checkers tournament, or asking
the Association of Computing Machinery (ACM) to spend thousands
of dollars to host one!
But enough of this cynicism.
When computer chess, and more generally Artificial
Intelligence (AI), were just starting out, no one knew what was
going to happen. Computer games were (and are) like the
drosophila fruit fly of AI because the problems are relatively
simple, the rules are clear, there are plenty of human experts
for comparison, and there are objective measures of "success."
Many felt that break-throughs in general AI would happen first
in this simpler arena.
People still don't know what is going to happen. I guess
there haven't been big breakthroughs, but there are a number of
"lessons" from computer chess that are argued and/or used in the
general AI context. One (controversial) lesson is that computers
should not "think" by mimicking humans. Should planes fly by
flapping their wings?
If nothing else, computer chess will make a significant dent
in the human psyche when a computer decisively defeats the human
world chess champion.
It is going to happen sure as Silicon Valley makes chips.
And it will be like a tiny version of the moon landing. It will
be something of a stunt, and not really that important, but it
will have a symbolic impact that will change how people think.

Ronda: Can you say what you did once you and Bruce Wright decided
to write a championship chess program?

Tom: I discovered that Claude Shannon had written a very early
paper on how to construct a chess playing machine.(1) It was
remarkably farsighted given the state of computing then. The next
oldest paper I found was from 1957 by someone who implemented a
program similar to Shannon's proposal. It played terribly.
Our first computer chess tournament was the North American
Computer Chess Championships, (CCC) held in November 1974 at the
ACM Annual Conference in San Diego. (We competed in a local
human tournament earlier that year.) Because ACM was sponsoring
it I decided to become an ACM member (in April 1974, I was a
junior by then) if only to see the announcements about the
upcoming tournament. It was tough reading for an undergraduate
but there were some interesting papers. A particularly
interesting one appeared that year, about a timesharing system
that ran on a PDP-11.(2) It sounded so much more sensible than the
IBM MVT/TSO computer system that we were using. Simple things
were simple, and yet one could do nifty things as well.

Ronda: What was the Duke computer you wrote your first chess
program for?

Tom: It was an IBM System 370 Model 165, 80 nanosecond cycle time
(12.5 MHZ in today's lingo), three megabytes of main memory
(later upgraded to four megabytes for a mere $100,000). Pretty
much the top of the line at the time. We did our development in
batch mode (the source code was on punched cards and the compiled
code was stored on disk) and used time sharing option (TSO) when
competing in tournaments.

Ronda: What happened at the tournament?

Tom: Bruce Wright and I called our program "Duchess". It did
quite well, and it was there that I met Ken Thompson who also had
a good chess program. His machine was running a background task
sopping up idle CPU time by solving simple chess end games! (For
example King and Rook vs. King). There was no chance we could do
something like that on our mainframe which cost 20 cents per
second. But on the other hand our three MIP mainframe was about
the fastest there was, and could compute rings around a little
PDP.
There were twelve teams competing in the tournament. We
were on a stage in a large room with seating for spectators. Each
team had a computer terminal (something like a dot-matrix printer
with a keyboard in front and an acoustic modem on the back). And
a telephone. Boy were those phone calls expensive. But the ACM
was picking up the tab, and Duke was giving us the computer time.
At the 1974 tournament, we knocked off MIT's "TECH-II" in
the first round. They had come in second the previous year, and
we were a newcomer, so that was something of an upset.
In the second round we got clobbered by the perennial champ,
"CHESS 4.0" from Northwestern University.
In the third round we played Bell Labs' "Belle". (I think it
was called "Tinker Belle" at one point.) I had met the author
earlier, before the second round, when he showed me how good his
program was at solving mating problems. I wasn't that interested
in chess, but humored him while he pulled a chess position out of
a library and had the program find a mate in 5 (or some such). I
guess if I actually played chess I would have been impressed.
So when the third round began Bruce Wright and I were on one
side of a table, and Ken Thompson and someone else from Bell Labs
(who years later I realized was Brian Kernighan) were on the
other side. I noticed that when Ken Thompson logged on, the Bell
Labs computer printed:
"Chess tonight, please don't compute."
I mentioned that that was really neat to be able to get the
computer center to put out a notice like that. He said something
noncommital in response. So the game began. A few hours and a few
thousand dollars later we really had "Belle" on the ropes. All it
had left was a lone king and we were about to queen a pawn! But
then our program ABENDed (core dumped) in a way that caused the
phone line to drop. We dialed back in and set things up, same
thing. Every so often it would actually make a move. But making
the phone call was slow (we had to ask for an outside line from
the hotel operator) and painful (rotary dial you know) and
eventually our program lost on time.
Later, after the tournament, we concluded that the problem
was not in our program. Rather it was a problem caused by TSO
trying to load overlays from a partitioned MVT data set that had
become excessively fragmented. Did I mention something earlier
about simple things being simple? Thus was our mighty mainframe
slain by a minicomputer. But I didn't realize it was UNIX.

Ronda: What does 'losing on time' in chess mean?

Tom: As is typical in human tournaments, each player has two
hours to make their first 40 moves, and get an additional 30
minutes for each 10 moves after that. The games utilize a pair of
clocks, one for each player. Whenever it is a given player's
turn, their clock is ticking. If they use up two hours before
completing 40 moves, they "lose on time". "Duchess" was intending
to complete 40 moves in 1:40 (i.e. with 20 minutes to spare), but
the program crashed so many times while trying to complete the
last few moves that it ran out of time.

Ronda: Can you describe what happened after the chess tournament?
How did you get to work at Bell Labs in the Summer of 1979?

Tom: Duchess competed in every ACM CCC from 1974 to 1980, but the
next time I met Ken Thompson was at the 1976 UNIX Users Group
meeting at Harvard. That was great fun. There were about 60
attendees. I was a grad student and we had just installed UNIX
(Version 6) and somewhere along the way I made the connection
between "Belle" and Thompson and UNIX. I was also at the 1978
UNIX Users Group meeting at Columbia University, and I think both
Ken Thompson and Dennis Ritchie were there. Thompson also
competed in the 1978 ACM CCC. I think he had some special chess
hardware but it was no match for the much-improved mainframe
programs.
Because of our mutual interests Thompson would even call up
our computer at Duke from time to time, and "write" me. That was
pretty intense, my trying to pick perfect sentences to send along
to the genius at the other end. I think it was during one of
those "write" sessions in early 1979, that he asked if I would
be interested in a summer job.

Ronda: What did you work on at Bell Labs when you worked there
under Ken Thompson that summer?

Tom: I remember making changes to the "ed" text editor command,
and working on a global optimizer for C.

Ronda: Can you say what it was like working at Bell Labs in the
Summer of 1979?

Tom: Well, I fell into the following routine:
Woke up at 11 a.m. Got to Bell Labs at noon so I could play
volleyball out on the front lawn with Mike Lesk and Steven Bourne
and other folks. (After a few weeks the security folks told us
they couldn't have a regulated monopoly running around loose like
that.) Lunch at 1 p.m. in the Bell Labs restaurant. Ken Thompson
and Dennis Ritchie and Greg Chesson were regulars. They had lunch
at 1 p.m. because sometimes they didn't get to work until then.
Sometimes Dennis Ritchie would entertain us with a horror
story about a non-UNIX system that he had to deal with recently.
I think one day Ken Thompson explained the C-compiler Trojan-
Horse hack he did. (It might have been in the lab, but lunch
sounds right.) I thought it was cute but didn't recognize the
larger implications. He later described it in his "Reflections on
Trusting Trust" Turing Award paper (which was nicely written so I
think Ritchie helped him with it). I tried to think of clever
things to say, which was not an easy thing.
At 2 p.m. the day began, which involved doing pretty much
whatever we wanted.
Ritchie was working on "Streams", I think. Ken Thompson was
working on typesetting software but mostly working on a chess
machine. (In 1980 he won the Third World Computer Chess
Championship, defeating the "Duke" chess program that I co-authored.)
Often at 7 p.m. a group would go out for dinner (they liked
pizza). Occasionally someone would host dinner at their home.
Afterwards I would go back to the labs and work until midnight.
And the next day I would get up "at the crack of noon", as
Thompson put it.
There was a kind of lull that summer because UNIX (Version 7)
had just been wrapped up. That was the summer that the Seventh
Edition of UNIX was sent out with lots of new software such as
"sed", "awk", "uucp", and the Bourne shell. Ritchie did various
paperwork and tape-making to get it out the door.

Ronda: Was there any special work being done with UUCP during
that summer at Bell Labs?

Tom: I didn't pay much attention to UUCP that summer, though I
did receive e-mail from other Bell Labs locations. Of course no
e-mail came from the outside. They didn't have UUCP yet. (I have a
curious memory of Mark Horton sending me a letter, but that
probably did not happen.) Anyway I was too smug to pay much
attention to other Bell Labs sites. After all I was at the very
root of UNIX itself, hacking on the machine named "research" and
eating pizza with Ken Thompson and Dennis Ritchie!
Of course when the summer was over and I was back at Duke,
one of the first things I did was arrange a UUCP connection to
"research". They called us nightly, which was great.

Ronda: What was the origin of Usenet? Was there a Unix News
program before you folks at Duke and University of North Carolina
developed Netnews?

Tom: I think the DEC PDP 11/70 there (at Bell Labs named
"research") had a primitive "news" program that printed unread
files found in the directory /usr/news.
But Duke already had a program (from one of the early user
group tapes) that supported multiple "categories" of news. (I
don't think the program was called "news" though), so I wasn't
impressed.
In the UNIX (Version 7) manual set there were two papers on
UUCP. One was "A Dial-Up Network of UNIX Systems" by D.A. Nowitz
and M.E. Lesk, August 1978. The other was "UUCP Implementation
Description" by D.A. Nowitz, October 1978. (UNIX V7 didn't ship
until the summer of 1979 though.). So I have always thought of
Dan Nowitz as a principal author of UUCP. It is odd that in a
recent USENIX ;Login: I think I saw Mike Lesk but NOT Nowitz
being given some recognition for UUCP.

Ronda: Did you continue to play computer chess after you and the
other folks at the University of North Carolina and Duke created
Usenet?

Tom: In 1980 we competed in the Third World Computer Chess
Championship held in Linz, Austria. Ken and Joe Condon (a
researcher at Bell Labs) had completed their hardware chess
machine and snagged first place. (From then on, hardware chess
machines have dominated the championships. The flexibility of
software programs has not been enough to overcome the raw speed
of chess hardware.)
"Duchess" came in second (or maybe third, I forget).
Claude Shannon was in attendance, and even handed out the
trophies at the awards ceremony.
Afterwards we all went over to a TV studio to watch a West
German TV special on computer chess and the championship. Claude
Shannon and his wife were very engaging people. Someone took a
photo of all of us, I have a copy buried somewhere.(3)

Ronda: What happened when you got back to Duke in Fall 1979? Did
you keep in contact with folks from Bell Labs?

Tom: When I got back to Duke I set up UUCP, and Thompson also
called in from time to time.
We really didn't get much software updating from them.
Technically they should not supply it anyway, due to the various
rules and regulations involved.

Ronda: I wondered if anything happened at Bell Labs over the
summer that helped you to propose Usenet...

Tom: Not really.

Ronda: Can you say what it was that led you or you and Jim Ellis
to conceive of Usenet?

Tom: Well, here is some text I wrote about that a few months ago:
"I think there was a confluence of things in fall 1979 that
brought it about.

1. Jim had installed the latest UNIX (Version 7) which broke
many old programs including a public domain "news" program that
had been sent out on one of the early UNIX User Group tapes. (In
summer 1979 the user group was renamed USENIX to avoid trademark
problems.) [It was earlier than that, but the first new meeting
was summer 1979] I don't think the program was called "news"
(perhaps it was called "items"). I think it allowed items to be
entered under one of several "categories". It had a number of
problems (including a 512 byte limit per item), so we were
thinking about writing a completely new program. Then we could
contribute it to the next user group tape and hopefully achieve
some minor level of fame.

2. I had worked for Ken Thompson at Bell Labs in the summer of
1979 and was in UNIX heaven the whole time. I also attended the
summer 1979 USENIX conference in Toronto. Returning to Duke in
the fall meant the end of that. Our only connection with the
outside UNIX world was the user group newsletter ;Login:, but we
had not seen one in a while. It was published on an erratic
schedule by a professor [Mel Ferentz] who had a lot of other
demands on his time. We were quite nervous that should anything
happen to him this tenuous connection would be lost entirely.

3. UNIX (Version 7) came with UUCP. This complex (for its day)
program made it easy to send e-mail and files to other UNIX
(Version 7) sites over phone lines provided that one end had an
auto-dialing telephone and modem and the other an auto-answering
telephone and modem. The Duke Computer Science PDP 11/70 had
both."
(We built the auto-dialers ourselves. An interesting
story...)
We were using UUCP to contact two other UNIX machines at
Duke and also one at U.N.C.-Chapel Hill.
So one night Jim and I had a rambling conversation about
these things and the idea behind Usenet just popped out.
We held a few meetings to figure out the details. Two other
local UNIX enthusiasts also attended: Dennis Rockwell from Duke
and Steven Bellovin from UNC. We decided on the transfer format
(what an article would look like on the wire) and on the basic
functionality of the software. Steven Bellovin implemented this
stuff with shell scripts as proof of concept. It was impressively
slow, but it worked!
We also decided on terminology such as "newsgroups". We
probably chose that due to the newsletter analogy. This was long
before the PC and "bulletin boards". We may have chosen
incorrectly but it wasn't due to carelessness. One thing we
didn't decide on was the name of the network. I think early on
Jim coined "Usenet", but our first announcement did not use that
(or any other) name.
An energetic new Duke graduate student,Stephen Daniel, also
turned out to be a UNIX enthusiast. He created the dotted
newsgroup structure that we know and love today, and wrote the
first production version of news ("A-news").

Ronda: Fred Brooks, who wrote "The Mythical Man Month" about the
problems of creating large software projects was a Professor at
the University of North Carolina. Did he do anything to help with
Usenet?

Tom: He was not involved in the early (or later) Usenet as far
as I know. He did pay for a leased line between U.N.C. and Duke
that made communication via UUCP a "free good". But we really
didn't seek faculty help for Usenet except for clerical issues
such as handling long distance bills until we were reimbursed.

Ronda: How did you present Usenet to people at USENIX in Winter
of 1980?

Tom: Jim Ellis presented a talk, but people did not come
specifically to hear his talk. There was no preannouncement of
Usenet. We didn't even have a name for the thing. There were 400
attendees, no parallel sessions, and pretty much everyone heard
everything. Ah, the good old days.

Ronda: I have been told that the reason "A-news" was written is
that the early shell script version of Usenet was too slow and
tied up the computer science departments computer. Is that why
the "A-news" version of Usenet was done to replace the shell
script version?

Tom: We never seriously considered implementing news as a shell
script.
It did not tie up the Department computer. We did, however,
have that problem with regard to UUCP. A grad student, Jothy
Rosenburg, had a PDP/11 at Duke Student Health that ran UNIX. He
used UUCP to ship files back and forth. The files got larger and
larger tying up our phone lines (we only had two) and when he
shipped a 500 Kbyte file which at 300 baud took 5 hours to
transfer, some people indeed hit the roof....Besides Jothy,
people blamed the problem on people playing computer games. But I
monitored phone use rather carefully and statistically game
playing was a total non-problem. But people had their minds made
up. This was in the fall of 1979 before news. News to U.N.C. (and
to phs) used fast leased lines which were not a problem. News
elsewhere happened in the dead of night which again was not a
problem. Usenet was being shipped via e-mail (not gateways of
mailing lists) long before 1982.

Ronda: Across the ARPANET?

Tom: I'm not sure, but it seems likely. Perhaps not across the
country, but across the campus would be rather attractive. It
("A-news") had general support for non-uucp transports [like
ARPANET] in early 1980.

Ronda: Do you have any idea how early in 1980?

Tom: Quite early. Well before the Delaware USENIX Conference. The
"uprop.n" paper (that was handed out at that conference) has a
section on this I will include here:
"Remote systems can also subscribe to newsgroups on an
individual basis. For each such system a subscription list and a
transmission protocol are maintained. Whenever an article should
be sent to a remote system, the transmission protocol of that
system is executed with a formatted version of the article as
input. This program performs the necessary magic to send an
article to the news program on the remote system. This might, for
example, be done by remote execution or the article could be
encapsulated and mailed to the remote system, when another
program would recover it and pass it on to the local news
program."

Ronda: I wondered if there were technical limitations to the
number and names of newsgroups under the original "A-news"
program and then under the early versions of "B-news". I have
been reading the discussion in "A-news" about forming new groups
and wondered if there were constraints that had to be taken into
account due to the software.

Tom: The early documentation said that newsgroup names were
restricted to 14 or fewer characters, but that was arbitrarily
chosen. ("A-news" did not store articles in a newsgroup tree, so
the old UNIX limitation of 14 character filenames did not apply
here.)
There was no limit on the number of newsgroups. However,
rather than have individual .newsrc files, "A-news" stored each
user's subscription list as a single line in the file
/usr/spool/news/uindex. The maximum line was originally 200
bytes, which limits the number of explicitly requested
newsgroups. On the other hand, one could subscribe to "all" to
read every thing so this was not that big a deal at first. The
"200" was also arbitrarily chosen, and was increased over time.
The real problem was the huge number of news articles. The
software was very inefficient at processing articles (which
would have been okay for three articles per day) and was
painfully slow as a result of the traffic. There was also a naive
assumption that the news program could allocate an array to hold
all the news articles the user wanted to read (or otherwise
process). But the PDP 11/70 did not have enough memory for more
than about 1000 articles! So we hacked the program to deal with
about 1000 articles at a time.

Ronda: Do you remember the earliest means of keeping track of
what newsgroups there were that people could subscribe to or did
people just subscribe to all? I have noticed that someone posted
a list of newsgroups in the early 1980s (maybe by 1982) I do not
have the earliest posts so I wonder if such lists had been made
earlier or if there was only a need for them at a certain point.

Tom: Originally people could create a newsgroup just by
submitting something to it, and similarly could subscribe to
non-existent newsgroups. This got to be a problem because people
would misspell newsgroup names. So we added a
/usr/spool/news/ngfile which had a list of all the known
newsgroups, and if someone submitted or subscribed to an unknown
group they were warned and asked if they wanted to add it to
ngfile. Newsgroup creation became a bigger deal in "B-news" which
created actual directories for the various newsgroups.

Ronda: You have said that human-nets was an important newsgroup
that was available in the early days of Usenet. Can you say what
you felt was important about it and why it was called human-nets?

Tom: "human-nets" was a discussion of the implications of
world-wide ubiquitous networking. This network of the future was
referred to as "Worldnet". It was a very interesting mailing
list and possible only due to the ability of the network itself
to permit those interested in this obscure subject to communicate.

Ronda: What role do you feel Usenet has played in all of this?

Tom: Usenet provided a good way to have online discussions, and
so I think it (accidentally) played quite a large role in this. I
think of personal e-mail, mailing lists, and news articles as
differing in their purpose and audience, but not in their content
or format. Stretching this further, we might view Web pages
simply as "messages" over which unusual care has been lavished.
And at the other end we might view "chat" style conversations as
sequences of messages over which unusually little care has been
lavished. Usenet just happened to find a sweet spot somewhere in
the middle. Anyway, it seems reasonable that all these different
kinds of messages could be formatted and handled in a more
uniform manner.

Ronda: Do you think we have succeeded in creating Worldnet?

Tom: It is easy to say "no", because less than half the world's
population have ever used a telephone, let alone a computer. We
don't yet have ubiquitous networking. And yet almost all of the
Worldnet vision has been implemented and is in widespread use.
The Worldnet discussions were about creating online journals and
creating an online storage of the world's knowledge. There were
concerns about fairness (would minority viewpoints be
suppressed?) and multi-culturalism (would we have a tyranny of
the English language, or perhaps instead a Tower of Babel?).
Well, the discussions have been overtaken by reality, and the
concerns are no longer academic!

------------
Notes

(1) The paper was Claude E. Shannon, "A Chess-- Playing Machine",
Scientific American, p. 48, February 1950.

(2) This was the July 1974 paper by Ritchie and Thompson on the
Unix Time Sharing System that was published in the Communications
of the ACM Number 17. (The earliest announcement perhaps of Unix
to the world.)

(3) Reproduced in "Netizens: On the History and Impact of Usenet
and the Internet" by Michael Hauben and Ronda Hauben.

-------------------------------------------------------------------------------
Reprinted from the Amateur Computerist Vol 8 No 1 Winter/Spring 1998. The whole
issue or a subscription are available for free via email. Send a request to
j...@ais.org
-------------------------------------------------------------------------------

0 new messages