While I was a senior at Harvard (1969–1970), the Aiken Computer Center replaced its SDS 940 time-sharing system (the first I had ever used) with an XDS Sigma 7 system. (XDS and SDS were the same company. The name changed because the initials SDS had acquired political connotations, and the Xerox Corporation had acquired Scientific Data Systems.) The terminals, one in each of four locations on campus, were noisy Teletype Model 33s with auxiliary 8-bit paper tape readers. Cathode-ray terminals were still in the future.
The first time I used the Sigma's debugger I was perplexed. The numbers had letters in them! Till then I had programmed only three computers: an ancient IBM 1620, which a farsighted member of Buffalo's board of education had procured for the city's technical high school; the University of Buffalo's IBM 7044 mainframe; and the SDS 940. The 1620 computed in decimal. The other two used octal digits, not hexadecimal.
After I got used to hexadecimal, I discovered another peculiarity: my program's code began at location B000. What was stored in 0000–AFFF?
It turned out to be an image of system memory, write-protected so users couldn't tamper with it. So this computer not only used hex, it used memory mapping. Here was something you didn't learn about by taking college courses! (I had never taken any courses in programming.)
I wrote a FORTRAN program with negative subscripting to scan system memory for interesting data. I soon found some text areas that changed rapidly. One such area appeared to contain my terminal's most recent input and output, stored in a peculiar circular arrangement. What was going on? This was my first encounter with circular buffers.
This suggested an appealing project.
In a few days I completed a new program, called RADIO, that let
a user at a terminal interactively monitor any other terminal.
The user could
monitor input, output, or both. By shifting into command mode (the prompt
[ overstruck with
the user could set various options. Since most
users used full duplex, it was best to monitor only the output—except
while a user was logging in.
For security, the system did not echo the
password, so to watch the password being typed you had to monitor the
Often while I used RADIO, other users would walk up and watch. Naturally they were curious, so I told them about the program. They started making copies for themselves. One evening, I monitored a user and found that he was monitoring me! I told him to turn off input monitoring, because every character I typed was being duplicated. He did, and we chatted for a while. This was a great novelty! In those days computer manufacturers refused to provide chat software, fearing that the Federal Communications Commission would subject them to the laws governing common carriers. (Or so I heard.)
In due course the Aiken staff found out about RADIO and deleted it, since it was a disaster for user and password security. But the binaries persisted, so they ended up scanning the whole file system to find them. After they were gone, we users returned to our former isolation. I never learned whether XDS heard about the problem or responded to it.
Bob Billing posted an account of a simple file-unlocking hack that a friend of his had invented for a Sigma system. Bob and his friend managed to convince the authorities that the Sigma's security was so weak that it was in effect discretionary.
In a memoir in the September 2020 issue of the
alumni magazine, Harry R. Lewis writes that Harvard's first computing
Automatic Computing, was added to the general education
program in 1968.
It was very popular.