Who wrote the first computer Easter Egg?

from “Racing the Beam” page 59.

An unexpected email

I hadn’t looked at Easter Eggs since 2017 when I wrote about what may be the first Easter Egg in an arcade video game, but that all changed when I received an email from Kate Willaert letting me know she had linked to my story in a recent video about early video game Easter Eggs and asking if I could help her out with another project.

The video she sent is wonderful and led me to read some of her other recent work including a fantastic article about the 1973 game Moonlander which touched on some of the same areas I’ve been looking into lately, having to do with early games for the DEC PDP-8 and PDP-11 and which I hope to write more about soon.

In her email, Kate mentioned something I had pulled out of the Wikipedia entry on Easter Eggs, namely that the first Easter Egg may be a command for the very early text editor TECO which dates all the way back to 1962 and was written for the PDP-1, one of the first interactive digital computers. Could the first Easter Egg date back that far? It turns out she had interviewed the creator of TECO, Dan Murphy and asked him about the Easter Egg, but he said it was added after he left, “likely by one of the hackers at the MIT AI lab”. (note that the word “hackers” in this case refers to the earliest independent computer programmers as documented in the classic book by the same name).

Could it be that no one had ever bothered to track down the author of the first Easter Egg?

And so we finally get to her request, which was: since I have a working PDP-11, could I reproduce the Easter Egg and send her a video? I let her know I would try my best to help her in this noble pursuit. After all, this could be the first Easter Egg ever.

The next day I sent her this email:

Hi Kate,

I’ve spent a few interesting hours on this. There’s more work to do. I suspect some of the lore around this is wrong. I was able to reproduce the egg on a simulated PDP-10 (see attached image). Based on this and other things I’ve read so far, I suspect that the Easter Egg is technically in the TOPS-10 (PDP-10 operating system) MAKE command. Not in TECO itself. I don’t know yet when it was introduced. I’d like to find the source code and then look back for the earliest version available. I suspect it did not exist on the PDP-6. If I’m right, that would put it no earlier than 1967. I would note that the phrase “Make Love Not War” probably wasn’t in use in the early 1960s: https://en.wikipedia.org/wiki/Make_love,_not_war. I hope this helps,

                           -EdF

I had reproduced the Easter Egg using an amazing program called SIMH which is supported by the Computer History Museum. SIMH is a general purpose simulator that can emulate DEC machines from the PDP-1 to the VAX, the Altair 8800, and many other popular computers from the 1960s and 1970s. You can set up your own simulated PDP-10 by following the instructions here: https://www.filfre.net/2011/05/tops-10-in-a-box/ and not only reproduce this Easter Egg but also play the original text Adventure while you are at it. (If you really have time on your hands you can read the Oral History I did for the Computer History Museum back in 2014. It has a few stories from my early days at Microsoft).

Finding the source code

Kate seemed happy, and encouraged me to keep digging. We still had no idea when the Easter Egg was added or by whom. I guess I needed to look into the source code for TOPS-10. Would that even be available? Pretty quickly I stumbled on an old forum discussion which, in retrospect, held some really important clues, but they were mixed in with just as many red herrings.

The discussion mentioned a file called COMPIL. Perhaps that’s where I needed to look? Eventually I figured out the full name of the file was COMPIL.MAC (a macro assembler file) and I found that file in a collection of TOPS-10 source code from the mid 1970s. In the file, sure enough, I found the code that implements the Easter Egg. It wasn’t very hidden. In fact, it was well commented and there was even a comment saying not to remove it!

I love the note at the end about leaving the “HACK IN FOR SALES DEMOS”. The DEC guys tried so hard to be cooler than their competitors at the straight-laced IBM.

This was progress, but the header at the top of the file showed how far I still had to go:

This file was from July, 1976. I needed something older. Much older.

Closing in

Hours of additional searching finally led me to an obscure website, sky-visions.com, where not only could I learn how to make kites, but I could also look through the source code for some of the oldest known versions of the TOPS-10 operating system. Nestled among these pages was the much earlier version of COMPIL.MAC I was looking for, dating all the way back to the 7th of July, 1971.

The Easter Egg code was identical in this file to the first version I had found. It wasn’t immediately clear how to proceed.  I exchanged a few emails with the website owner, Richard Cornwall, but he didn’t have an earlier version of compil.mac and didn’t know where I might look for one. At this point I started to pay more attention to the rest of the comments in the header. As you can see, it says the file was converted from an even earlier file in 1968 by “R. Clements” and that earlier program was originally written by “William Weiher” at the Stanford AI Lab (NOT the MIT AI Lab that TECO Author Dan Murphy suspected).

That reminded me of something I had seen in the forum posts I mentioned earlier in this story. I went back and reread the posts and found this interesting comment:

Could “/Rcc” be “R. Clements” from the comments in the compil.mac source code? If so, that would point the blame or glory for the Easter Egg squarely at one person: William F. Weiher and set the date for his actions no later than November 1st, 1968. We were getting close… I decided to send Kate an update.

Victory!

A few days later I found a fantastic early birthday present from Kate waiting in my inbox. It said:

And so we finally know who wrote what may be the first Easter Egg in history: William Weiher, sometime between October 1967 (after he finished his Elvish alphabet routines) and the end of October 1968, when it was ported to TOPS-10 by Robert Clements.

Of course, there may be an even earlier example of an Easter Egg out there. Perhaps by some IBM prankster in the 1950s? I hope this article inspires someone to dig deeper and find more Easter Eggs before they are forever buried beneath the sands of time. I’m sure they will have even more fun than Kate and I did on this wonderful Easter Egg hunt.

(at this point I strongly encourage you to read Kate Willaert’s companion article which includes her side of this adventure and a complete interview with William Weiher).


One thought on “Who wrote the first computer Easter Egg?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s