William Weiher created the first software Easter Egg circa 1968, but didn’t realize it until I told him.
Last month, I revealed the previously forgotten oldest Easter Egg in a video game. Except I left out one minor detail. I already knew of an even earlier Easter Egg, the catch being that it wasn’t in a video game at all.
This fabled Egg was hidden inside an early text editor called TECO, developed at MIT in the ‘60s. On PDP-6 model DEC computers or later, you could create a new TECO file by typing “MAKE” followed by a single-word name for your file. But if you entered “MAKE LOVE,” the computer would surprise you by responding “NOT WAR?” — a reference to a popular anti-war slogan.
The only problem is that I couldn’t figure out how old the Easter Egg actually was, nor who created it. The most obvious person to ask was TECO’s creator, Dan Murphy, but he could only confirm that it wasn’t him:
DAN MURPHY: I can’t claim credit for that. It originated in the MIT AI group a year or two after I went to work elsewhere. I couldn’t tell you who might have done it, but once there was a shell using a command ‘make’ to initiate various activities, it happened rather quickly.
I started reading up on MIT AI Lab alumni looking for leads, but only came up empty handed. Eventually I set it aside to focus on other mysteries, believing this one to be likely unsolvable.
But that all changed after I sent a link to my “Easter Egg” video to Ed Fries. I loved his article about finding the Easter Egg in Starship 1, which I cited as one of my sources, and thought he might get a kick out of this Egg update.
In his response, he mentioned that he’d recently picked up a PDP-11 and would let me know if he found any earlier Eggs. I remembered that his own article had briefly mentioned the TECO Egg, and suggested he should give it a try on the PDP-11, and filled him in on everything I knew so far. To my surprise, Ed offered to do some digging of his own (which you can read all about here)!
Ed’s search broke the case wide open when he found a possible name for our suspect: William F. Weiher. If true, this meant the Egg wasn’t created at the MIT AI Lab, but rather at the Stanford AI Project (later called the Stanford AI Lab, or SAIL).
Now I just needed to find this William Weiher and ask if he was our guy.
Who Is William Weiher?
William F. Weiher (also known as WFW, or Bill Weiher) worked at the Computer Center Corporation (CCC, or “C-cubed”) in Seattle with two other former SAIL regulars, Steve Russell (SRR) and Dick Gruen (RPG). Among their many users were a young Bill Gates and Paul Allen.
In Paul Allen’s memoir, Idea Man, he likened him to “a scribe from the Middle Ages. I’d see him crunching away tirelessly at his terminal, building elaborate structures of intricate code.”
Before CCC, Weiher was a regular contributor at SAIL. He wrote a text editor that predated TECO called STOPGAP, created the program that enabled the “MAKE” command for TECO, and famously gave all the rooms at SAIL nicknames based on J.R.R. Tolkein’s Lord Of The Rings trilogy.
He also confirmed for me that he was indeed the author of the “Make Love Not War” hack, the earliest known Easter Egg in a computer program.
WILLIAM F. WEIHER: Yes, I was the one that programmed this although I never imagined that anyone might think that this was the first “easter egg”.
Make love not war was a mantra of the anti-war movement at the time. It was popularized by some celebrity (possibly Jane Fonda). I probably heard something about it on the news at the time I was writing the program.
There was also an interesting dynamic with DEC. Many of the things I wrote ended up as part of DEC’s release of the TOPS-10 operating system (totally with my permission). It was something of a test to see what would get through DEC without modification like the ability of the Calcomp plotter routines (which they did give me credit for) to plot in Feanorian (the Elvish alphabet from Tolkien’s Lord of the Rings).
Was “compile” originally written for the PDP-6? Do you recall what year it was written?
WFW: Compile was certainly written for the PDP-6 since I don’t believe the AI Project had a PDP-10 while I was there but the KA-10 was just a PDP-6 built with integrated circuits instead of discrete components. I do not recall the year but it must have been 1966-1970.
The TOPS-10 version of the code includes a line about “leave the above hack in for sales demos.” Was that note something you wrote in the original?
WFW: Since the AI Project was not selling anything, that comment was probably added by someone at DEC who thought it might ‘spice up’ a sales demo.
Was “Make Love Not War” before or after you added Feanorian to the Calcomp plotter?
WFW: The plotter routines certainly came first. The idea for compile originated after DEC added the ability to loader and macro to read commands from a file instead of only from the console.
The above answer led to my finding source code for the Calcomp plotter routines, which helpfully included a date for when each character set was added. “Feanorian” was implemented on October 21, 1967.
The COMPIL source code found by Ed Fries says it was converted to Macro by Robert Clements on November 1, 1968, so that means Weiher must’ve created the “Make Love Not War” Easter Egg between October 1967 and October 1968.
I was unable to contact Robert Clements to get his perspective on the creation of COMPIL, but I found an interesting thread on Usenet where he discussed it with John Sauter, who had a minor role in the program’s creation at Stanford. According to Sauter:
COMPIL was invented by Bill [Weiher], a graduate student in the Stanford Artificial Intelligence Project, in the late 1960s. It was called RPG, which stood for Rapid Program Generation. The program was coded in FAIL, a one-pass assembler written by Phil Petit, also a graduate student in the Stanford AI Project who shared an office with Bill. Bill requested assistance from two people. Dick Gruen, a DEC employee, modified the MACRO assembler and the FORTRAN compiler to interface to Bill’s RPG. I modified the operating system to allow RPG to retrieve the command line that invoked it.
The name was a joke, of course. RPG is the name of a well-known IBM programming language, and therefore completely unsuitable for an offering from DEC. In addition, Dick Gruen was also known as Richard P. Gruen.
Robert Clements chimes in:
And thereby hangs a tale. When Dick gave me the RPG source, he told me that DEC could have it if and only if we continued to call it RPG. Larry Portner vetoed that. He said we weren’t calling it by a name that IBM was already using, for a completely different product. It would just confuse people. I told him that Dick/Bill had made it a condition of the donation. I don’t know whether Larry actually had any contact with them on the subject. But I got the flak from them.
In another version of the story, Clements says Dick demanded DEC keep both the RPG name and the “Make Love Not War” hack, and that he compromised by keeping the hack. However, in a different telling he merely says he was “never instructed to remove it. So it stayed.”
Back To William Weiher
Is it true that COMPIL’s original name “RPG” was partly a reference to “Richard P. Gruen,” or is that just a legend? Was the name his idea or yours?
WFW: There was also a language named RPG, but as far as I remember it was just “Rapid Program Generation”. As far as whose idea it was, I think it was mine, but it could very well have been something Dick said which got me started in that direction, so he might very well deserve some of the credit.
Were there any other fun references you included in programs that you can recall?
WFW: As far as I can remember, that was my only foray into ‘fun’ programming, just programs that did what they were supposed to.
While digging for info on SAIL, I spotted a fun anecdote about how you gave all the rooms Tolkien-based nicknames:
The computer room was labeled “Mordor”. The coffee break vending machine room was labeled “The Prancing Pony”. My (BgB) office, behind the conference room, was “Dale”. Les Earnest recalls his office was “Imladris”.
Do you remember if there were other names?
WFW: It all started with the idea that we should number the rooms to make mail delivery easier. We could not interest Stanford in that idea so I decided to name the rooms from places in Lord of the Rings (I was a great Tolkien fan).
The narrative I developed was that the evil threatening the world was assembly language programming (John McCarthy, as the developer of LISP, was a strong proponent of higher level languages). Each room had a sign made by the Calcomp plotter, with the name in English and Elvish. In addition to the names you found:
- The office I shared with Phil Petit, Dave Pool, and John Sauter was Moria. We did the operating system, assemblers, loader, editors, LISP, etc.
- The office next door was Rohan because the person who worked there (a blank on the name) drove a white Porsche (the white horse Shadowfax)
- The offices of the people working on speech and visual recognition where Amon Hen and Amon Lauw (the hill of seeing and the hill of hearing)
- The bullpen for the graduate students was (of course) The Shire.
- John McCarthy’s office was Isenguard because he had been caught writing a snippet of code in assembler.
- Tony Hearn was a physicist working on a huge LISP program to symbolically simplify algebraic expressions having something to do with Feynman diagrams. At the time, the system neither swapped or paged so all users had to fit in memory at the same time. His program was so big, he needed the computer all to himself. His office was Cirith Ungol and he was the fat spider who gobbled up all the memory.
Those are all the names I can remember, but since your interests run as far as Sci-fi I will include a fun story.
When 2001 [A Space Odyssey] was in the theaters, Arthur Clarke was in San Francisco promoting the film and stopped at the AI project to visit John McCarthy. John asked me to give him a tour and tell him about the room names and the rationale behind them. When we finished, his comment was “That’s fascinating, I must tell Ronald about this”.
It turns out he and Tolkien were close personal friends. I don’t know if he ever told Tolkien, but a week later I got a call from the literary editor of the Washington Post who wanted to check his facts from an interview with Clarke. (If you could find that interview with Clarke in the Post archives it might give you an additional date reference.)
Friend of the blog Kevin Bunch was able to find a copy of the article, dated March 31, 1968, which I passed along to Weiher. Clarke was promoting the movie in the lead-up to its release in April.
Now that I have a date for the Arthur Clarke article, I’m curious: Do you remember if COMPIL and “make love not war” were written before or after that visit?
WFW: Sorry I don’t remember the time relation between compile and Arthur Clarke.
Some sources say you created the text editor Son Of Stopgap, others say you created the original Stopgap. Could you clear up which it was, and what the story was behind it? The name suggests it was maybe intended as a temporary solution to a problem?
WFW: I created the original STOPGAP (also known as EDIT10). The original editing on the PDP-6 was on DECTAPE. DECTAPE files were a doubly linked list of data blocks. This meant that it was possible to insert a new block in the middle of an existing file (very handy for an editor). I had a promise that the hard disk would have the same ability but it never happened. STOPGAP worked by recopying the file to insert new space so that I could develop the rest of the functionality until I got my new disk functionality. EDIT10 was eventually taken over by DEC due to user demand.
U-turn with a question for you. Have you seen anything about Odin-Thor-Zeus, the three ‘releases’ of the time-share operating system for the PDP-1 at the Stanford AI project before the arrival of the PDP-6.
I haven’t, but I could ask around. Was there anything about Odin-Thor-Zeus you were wondering about, or did you have a related story to share? Because if you have more stories you’d like to share, I’m all ears.
WFW: Nothing special about Odin-Thor-Zeus. It was just that thinking back, I am amazed that there was a time sharing system on a PDP-1 at that time.
Unrelated, how did you get involved in CCC? I think Steve Russell joined in the fall of 1968, I’m not sure if you joined at the same time or a little after?
WFW: CCC offered me a job, I knew Steve Russel and Dick Gruen and the woman I have been married to for the last 51 years was going to grad school at the University of Washington (we met as undergraduates). I came a little after Steve.
If you are interested in CCC, it’s too bad I never asked Paul Allen for a copy of the documentary he made about CCC.
Oh wow, a documentary! Was that something he made in high school, or in some later decade?
WFW: Well I don’t think he made it himself, more like produced. About 20 years ago I got a call from Paul Allen’s archivist asking if she could interview me for a documentary he was creating about CCC. (She said he credited the ‘innovative’ things we were doing at CCC as one of the inspirations for him and Bill Gates to found Microsoft.)
Anyway, he sent her and a full production crew (lights, shoulder camera, and director) to Boulder to tape an interview. I should have asked him when I was in Seattle for the opening of his computer museum but I didn’t think of it at the time.
Hopefully the film surfaces one day, that would be interesting to see.
Is it true that Allen and Gates were temporarily banned from the system before being hired to hunt for bugs?
WFW: I don’t really know. Dick Hammit? Was the primary contact there.
Since you said you like stories, I’ll tell you about the one Paul told at the dinner for his museum opening. Seems Paul and Bill found complete listings of the operating system in the dumpster and climbed in to retrieve them. He then said that he and Bill stayed up late trying to understand the code that I had written.
Did you ever have much interest in the computer games played at Stanford, like Spacewar? I’ve heard Atari’s Nolan Bushnell played Spacewar at Stanford, but that might’ve been after you’d already left to Seattle.
WFW: We played spacewar when we needed a break but that’s about all.
By the way, how do you pronounce your last name?
WFW: My last name is pronounced like we’re.
Thanks so much for sharing your stories.
WFW: I should thank you, for the articles you found for me, for listening to my stories, and for prompting me to review some fun memories. Thank you very much.
I’d also like to thank Lars Brinkhoff, Kevin Bunch, Ethan Johnson, and of course Ed Fries, who documented his side of this adventure here.
Join the discussion on my Patreon page!