Graduation Day in 2005 for Martin Frost
Or why it took so long and what happened along the way

(Position your mouse over any inline picture for a few seconds to see the caption.)

From: Martin Frost
Subject: graduation day at last
Date: Fri, 10 Jun 2005 17:44:21 -0700

Howdy, dear family and friends.

I'm proud to say that, after 33 1/3 years from start to finish, I'm finally graduating from Stanford University with a Master of Science degree in Computer Science. (I'm one *long* playing record, I guess. ;-)

Martin (and Data Disc display) in his AI Lab office If you want to know how my degree came about (and learn a bit of my history at Stanford), read on. If history is boring to you (as it was to me when I was young but not so much now — hmm, does that mean I'm no longer young?!), skip to the last seven paragraphs below. Some of you know parts of the history I relate here, so you can check if my memory is accurate or if it tends to improve history. (;-)

In 1971 I entered the PhD program in Computer Science at Stanford and took a student position as a research assistant at the Stanford Artificial Intelligence Lab (SAIL). I actually started at the AI Lab in May, shortly after I learned that I had been accepted into the PhD program. That was more than four months before the beginning of the school year when most students arrive, but, hey, I wasn't doing anything in May, and, when I asked, they said I could start right away. So after five one-way trips between Pasadena and Palo Alto in six days to find an apartment and drive my stuff up in a trailer, I started at the Stanford AI Lab on Tuesday, May 11, 1971.

Over the next two years, I took classes, worked on an AI Lab research project on "higher mental functions" with Dr. Ken Colby (whose Parry program simulated a paranoid schizophrenic quite well), played volleyball at the Lab (and intramural sports on campus), started folkdancing, and got interested in working on the AI Lab's timesharing system, which was one of a kind and very advanced, with display terminals (called Data Disc displays) for everyone. Remember, this was 1971-73.

AI Lab and corner of Felt Lake
AI Lab, surrounding fields and Felt Lake I had a lot of fun programming the Stanford timesharing system on the DEC PDP-10 computer, so much fun, in fact, that I decided in 1973 to keep doing that as a staff system programmer instead of as a graduate student. The AI Lab was a pretty fun place to work, and it was located in a beautiful area of the foothills surrounded by Felt Lake and open space. There were lots of innovations going on there, and people had fun hacking (in its original computer meaning!) hardware and software for fun and usability.

The SAIL computer even controlled a vending machine so that you could charge food to your account, which was billed by email at the end of each month. The vending machine had decent food, including sandwiches, bagels and milk. It also sold cold cash and, if you were at least 21, beer.

AI Lab main entrance during AI Olympics N-legged race of the AI Olympics We played Adventure on the computer, volleyball each afternoon, and spacewar when the computer wasn't busy. Each year we had an AI Olympics — really a picnic with games and treasure hunts. Ever been in a 19-legged race? The Lab's rooms were all named for places in Middle Earth: the computer room was Mordor, and the computer-operated vending machine became known for the room it was in, the Prancing Pony. A lot of work got done too, because people liked working there.

Matterhorn Peak on AI Lab backpack trip
Signing in at California's Matterhorn Peak on an AI Lab backpack trip (1972) In my first year as a system programmer at the Lab, I wrote what could arguably be called one of the first search engines, called NS (for News Service). It stored and pre-indexed two weeks worth of AP and NY Times wire news for instant retrieval by whatever keyword combination you wanted to Google for, ... uh, I mean search for. NS was a very popular program at the Lab, especially when there was breaking news. It could even notify you immediately when some story of interest came in matching any of the keyword combinations you had previously specified.

One of the useful things I did at the Lab was to modify the display system that worked on the unique local Data Disc display terminals so that it also worked over dial-in phone lines from Datamedia display terminals at researchers' homes.

I also completely rewrote one of our two main system manuals, called the UUO Manual, which documented all the system calls (UUOs). I read through probably a majority of the entire timesharing system's assembly language code to document the UUOs accurately. On the cover of the manual we showed a "UUO", that is, an Unidentified Undersea Object — a Soviet submarine.

IRCAM ID photo In January/February 1977, I spent about three weeks working in Paris at IRCAM (part of the then-new Centre Pompidou), the French government computer music research institute. IRCAM was sort of a spin-off from the AI Lab with a couple of ex-AI Lab people in major roles, including Brian Harvey, their system programmer. Brian hired me to port the AI Lab's display system to the DEC TOPS-10 timesharing system, which was a second cousin of the AI Lab's operating system (we named it WAITS, which I suggested stood for "Worst Acronym Invented for a Timesharing System").

It turned out that we had to leave the computer turned off for the first three days I was in Paris, since the the air conditioning was broken (and this was Winter!), so the work was delayed and I became a tourist instead of programmer for those three days. For the rest of my time there, Brian and I worked very long hours seven days a week, usually quitting just in time to catch the last bus home at about 1am. We successfully finished the port of the display system one morning around 5am, just a few hours before my scheduled return flight to California.

Around 1978, I became the AI Lab's chief system programmer. Just a few of the useful things I accomplished then were: adding macros, disk caching and other nice features to the great, fast display editor we had, called E; adding terminal macros for system keyboard input; and adding virtual terminals to the display system so you could use more than one from your physical display.

PDP-10 (KL10) newly arrived in MJH (dark blue memory cabinets in back) I especially worked at fixing a lot of old bugs (e.g., interrupt level timing races) that would crash the system frequently. In just a couple of years I vastly reduced the number of system crashes due to software bugs, as this table of such crashes per year shows (in 1983 we were debugging TCP/IP):

1977307198417
197823119856
197937198610
19803119871
19811919882
19822219892
198345

one row of peripherals for PDP-10 (Data Disc system on left) The AI Lab system had a lot of memory for its day, 2.5 megawords as I recall (a word was 36 bits, so that's about 11 MB of core memory). Memory parity errors were always our nemesis, though, especially when they would strike the operating system. So I had a little red/yellow/green signal light for my office that would show green when the system was working, yellow when it was scanning for parity errors (which took several seconds), and red when the system went into the debugger upon detecting an unexpected error (I had to go debug it).

In late 1979, the AI Lab moved onto campus in the Computer Science Department's newly renovated building, Margaret Jacks Hall (MJH). Unfortunately I missed the exciting part of the move when they had to use a crane to lower part of the computer to the basement level where the computer room was because it wouldn't fit into the elevator.

Winning the 3-legged juggling race finals (with Bente in Frankfurt 1984) While in MJH, we connected four TV tuners to the computer's display system so that people anywhere in the building could watch TV on their Data Disc displays. With three or four keystrokes, a user could tell the computer to turn a free TV tuner to a given channel and show that channel on the user's display, with sound of course. This was particularly popular during the Olympics, since you could work but watch the events you wanted to see. Or you could take a break and watch the news or a baseball game or Johnny Carson's monologue.

Performing with the Zavrti Folkdancers in the mid '80s
Martin performed with Zavrti Folkdancers in the mid '80s For many years, Don Knuth worked at the AI Lab developing TeX and Metafont for use in publishing his famous book series "The Art of Computer Programming." He worked a lot of late hours — the computer was less busy then — and I would occasionally get awakened at home in the middle of the night by a phone call from Don (or others) if the system crashed. I'd fix it over the phone or have him reload (that is, reboot) the computer. In 1986 he dedicated to me his book "Computer Modern Typefaces" (Volume E of his Computers & Typesetting series): "To Martin E. Frost: Who nurtured the systems." I felt honored.

The AI Lab's DEC PDP-10 computer was finally retired in June 1991, so we held a wake for SAIL, after it had contributed to computer research for 25 years. As it turned out, we didn't dare turn off the computer for a while longer, as it was still controlling the vending machine....

I had started working seriously on Unix computers in 1988 by writing a backup program called 'mpd' that allowed an operator to backup an entire system on one or more 9-track tapes. About a year later, we got a couple of 8mm tape drives that held a lot more data than a 9-track tape, so I automated the backup system by writing a program called 'pdm' that runs continously and calls mpd to back up any number of computers automatically every day. That eliminated the operator except that every few days someone has to change tapes. With a new tape already loaded in a second tape drive (or an autoloader or tape library), however, pdm doesn't have to wait for the next tape to continue its backups when a tape fills up. My pdm backup system has been used by several departments at Stanford and is still in use today. Nowadays it is capable of doing backups to disk as well as to tape.

Gates Computer Science Building In late 1995, the Computer Science Department moved again, this time to the new Gates Computer Science Building. Close to a thousand computers of varying types were moving to the new building and all needed to have their IP addresses changed. So I wrote a script that knew all the old and new IP addresses, netmasks, etc., and how to update them on a variety of Unix operating systems. This program was run once on most of the Unix computers just before each was turned off for the move, so that when they were turned on again in the new building, they would work immediately on their new subnets. We're still in that building, with far more computers yet.

But I digress....

Now and then during the 1980s and 1990s I entertained thoughts about going back into the PhD program to get my degree. But I was having too much fun (and getting paid for it besides), so I never acted to get reinstated.

SJRI performs the Happenstance Line at the 2004 Isla Vista Juggling Festival Vova & Olga win IJA gold medal, and SJRI wins silver medal (Buffalo, 2004) Through most of my time at Stanford, I've also been juggling regularly, having started in early 1974, I think. As many of you know, last year two of my juggling partners and I won a silver medal in the International Jugglers' Association's Teams Championships, performing as the Stanford Juggling Research Institute (SJRI — we do real juggling research, in a science building no less ;-). Winning the silver medal was a wonderful surprise, especially considering that the team that took the gold medal was absolutely the best juggling team on the planet — two Russian teenage siblings aged 16 and 13 (Vova and Olga). We were very happy!  (You can now watch the SJRI silver medal video.)

The silver medal One of my SJRI juggling partners, I'll call him Fred, though that is and isn't his name, was accepted in Spring 2004 to the Masters program in the Stanford Computer Science (CS) department, to start in the Fall. (My other partner, Rick, is our SJRI spokesperson.)

(Now we're finally getting back to the point of this missive, so hang in there. ;-)

Then one morning in June 2004 I woke up thinking — without knowing why — about the fact that I had put in two full years as a PhD student 1971-73. Generally, it takes about two years to get a Masters in CS at Stanford. So in that sleepy early morning, I thought, hmmm, maybe I've done enough work to get a Masters in CS. So I met with department Chair Hector Garcia-Molina (who had become a Stanford PhD student in CS a few years after I had!) and asked how to find out what I might need to do to get a Masters. The ball was rolling.

Stanford had to dredge up my student records from microfiche but found them after a while, and I found out that I had done all the work needed for a Masters, although two of my courses had "continuing" grades instead of final grades. Those were reading and research type classes that continue for multiple school quarters until you're done and then you get one grade for all the quarters at once. I had dropped out and not gotten a final grade, so I had to get my PhD advisor, under whom I was doing those courses in 1973, to sign grade change forms, in 2004, with a passing grade. That's John McCarthy, who created the AI Lab and whose computers I've worked on from the AI Lab to the present. He is officially retired but still at Stanford and was willing to sign. He offered me an "A" but I took a "Pass" instead — good thing too, as it turns out an "A" would have lowered my Stanford GPA!

With the grade change recorded, I had finished all the requirements for a Masters and only had to apply for it. Slight catch there. You have to be a current student (or a very, very recent one, not 30 years back) to apply to graduate. So I had to become a student again, which meant I had to apply to Stanford for reinstatement, with the application costing a couple hundred dollars, which I paid. With the CS department supporting my application, Stanford reinstated me as a grad student.

Congrats from Hector Garcia-Molina, recent Dept Chair, who helped me get reinstated so I could graduate Then I had to register as a Stanford student for one quarter, including paying the minimum tuition, which turns out to be $2500 if you're taking no classes. Wow. Fortunately, I work for this great company that will pay up to $5250 per year toward tuition for any full-time staff member going toward a degree, which I was. So Stanford my employer paid Stanford my grad school the $2500 tuition for the Fall 2004 quarter. I then applied to graduate and they bought it, as it were.

The result is that I officially graduated from Stanford's Computer Science Department with a Master of Science degree on my birthday in January this year, and this Sunday, June 12, I'll walk through the commencement ceremony to receive my diploma. Oh, by the way, the commencement speaker will be Steve Jobs.

From my first quarter taking classes in Sept 1971 to my Jan 2005 graduation, it took 33 1/3 years to get my Masters degree. I think that that's probably at least a Stanford Computer Science record, since the CS department only existed for about 6 years before I joined it.

If I'm still around 66 years from now, for my centennial at Stanford I think I'll go back and finish my PhD.

Take care,
Martin

P.S. For more on the history of the Stanford AI Lab, from the computer's perspective, see: SAIL Farewell.



Graduation Day for Martin Frost
Stanford University, 12 June 2005
(Click on any photo below for a bigger version,
though I don't know why you would want to.)

(Actually, the first picture below links
to the Stanford Report articles on commencement,
so don't click on that unless you're done
looking here! Then go read it if you want.)

It was a beautiful Commencement Day at Stanford with about 23,000 people in Stanford Stadium as university President John Hennessy presided and Apple CEO Steve Jobs gave the commencement address. See the Stanford Report for more pictures, stories and the text of the commencement address by Steve Jobs.
Preparing the tassle
Preparing the tassle
Ready to go
Ready to go
The orange hood is for the School of Engineering
The orange hood is for the School of Engineering
My lovely wife Linda Grace is ready too
My lovely wife Linda Grace is ready too
The "Wacky Walk"
The "Wacky Walk"
The procession
The procession
The school flags hang over the stage
The school flags hang over the stage
The orange hoods of the Engineering grad students
The orange hoods of the Engineering grad students
Receiving the diploma from the CS Dept Chair
Receiving the diploma from the CS Dept Chair
A new Master of Science in Computer Science!
A new Master of Science in Computer Science!
The result of 33 1/3 years!
The result of 33 1/3 years!
Don Knuth in his finest
Don Knuth in his finest
Congrats from Hector Garcia-Molina, recent Dept Chair, who helped me get reinstated so I could graduate
Congrats from Hector Garcia-Molina, recent Dept Chair, who helped me get reinstated so I could graduate
My beautiful, supportive wife Linda Grace
My beautiful, supportive wife Linda Grace

Really want more? Sorry.
All that's left is my simple home page.