Larry Osterman's WebLog

Confessions of an Old Fogey
Blog - Title

Early Easter Eggs

Early Easter Eggs

  • Comments 65

Jensen Harris's blog post today talked about an early Easter Egg he found in the Radio Shack TRS-80 Color Computer BASIC interpreter.

 

What's not widely known is that there were Easter Eggs in MS-DOS.  Not many, but some did slip in.  The earliest one I know of was one in the MS-DOS "Recover" command.

The "Recover" command was an "interesting" command.

As it was explained to me, when Microsoft added support for hard disks (and added a hierarchical filesystem to the operating system), the powers that be were worried that people would "lose" their files (by forgetting where they put them).

The "recover" command was an attempt to solve this.  Of course it "solved" the problem by using the "Take a chainsaw to carve the Sunday roast" technique.

You see, the "Recover" command flattened your hard disk - it moved all the files from all the subdirectories on your hard disk into the root directory.  And it renamed them to be FILE0001.REC to FILE<n>.REC.

If someone ever used it, their immediate reaction was "Why on earth did those idiots put such a useless tool in the OS, now I've got got to figure out which of these files is my file, and I need to put all my files back where they came from".  Fortunately Microsoft finally removed it from the OS in the MS-DOS 5.0 timeframe.

 

Before it flattened your hard disk, it helpfully asked you if you wanted to continue (Y/N)?.

Here's the Easter Egg: On MS-DOS 2.0 (only), if you hit "CTRL-R" at the Y/N prompt, it would print out the string "<developer email alias> helped with the new DOS, Microsoft Rules!"

To my knowledge, nobody ever figured out how to get access to this particular easter egg, although I do remember Peter Norton writing a column about it in PC-WEEK (he found the text of the easter egg by running "strings" on the recover.com binary).

Nowadays, adding an easter egg to a Microsoft OS is immediate grounds for termination, so it's highly unlikely you'll ever see another.

 

Somewhat later:  I dug up the documentation for the "recover" command - the version of the documentation I found indicates that the tool was intended to recover files with bad sectors within it - apparently if you specified a filename, it would create a new file in the current directory that contained all the clusters from the bad file that were readable.  If you specified just a drive, it did the same thing to all the files on the drive - which had the effect of wiping your entire disk.  So the tool isn't TOTALLY stupid, but it still was pretty surprising to me when I stumbled onto it on my test machine one day.

 

  • > Nowadays, adding an easter egg to a Microsoft OS is immediate grounds for termination, so it's highly unlikely you'll ever see another.

    Just on operating systems?
    Or shipping app?

    What was the last OS that had easter eggs?
  • Why are easter eggs so bad now? They were always fun before. Was it a big name (Bill, Steve, etc.) who came up with the termination rule or a nameless lawyer?
  • Brad, I don't know about outside the OS division. I do know that Brian Valentine has made it QUITE clear that you will be IMMEDIATELY terminated for introducing an easter egg into the OS.

    Ryan: Why are they so bad? Because the people who pay the bills around here (the corporate customers) made it quite clear to Microsoft that they considered Easter Eggs to be a major issue - and we responded to their concerns.
  • I remember accessing the recover Easter Egg. But not because I discovered it or anything...<developer name> told me about it.
  • Corporate customers have no sense of humour. Having a picture of the development theme or a list of credits (even if it is with a cartoony polar bear) in an OS is a "major issue"? I think there's more important things to worry about.

    That said, the pinball game in Word 97 and "flight sim" in Excel 97 may have been slightly over the top.
  • Prior to Win2k, most MS products shipped with Easter eggs. There was one in IE4 and one in IE5.

    At around Win2k, Easter eggs were banned. The main reason was that corp customers, and three letter govt. agencies were concerned that if MS cant control the code they ship in their software, then how can they be sure the released software does not contain security bugs?

    After Win2k RTM, they added an easter egg to the microsoft.com website. It was invoked by typing in a magical key sequence on the MSCOM homepage, and then clicking on the "Windows2000" link on the left navbar.
  • That's just silly.

    There's a difference between containing security bugs (which clearly rank pretty high on the importance scale) and containing easter eggs which Microsoft probably just chuckled at.
  • Oh, the legendary Peter Norton. Whatever happened to him?
  • That makes sense. I guess writing a spec for an easter egg and code reviewing it would be a waste of money. On the upshot, Windows keeps getting better with every release, so obviously specs and code reviews are working.

    I'll blame nameless lawyers and bean-counters at big corporations and three-letter government agencies then.
  • Kristopher, Steven, etc...
    Yeah, easter eggs seem really benign, but what if there was a terrible security vulnerability introduced into a product by an easter egg? It's useless code - it doesn't serve a purpose in the product; it doesn't add any functionality whatsoever - so, if there's a flaw in the egg that allows an attacker to compromise a system, was it really worth it?

    Nope.

    Now, that's an extreme example, but Microsoft's customers have said that they want secure products. Reducing attack surface and reduction of attack surface is a big part of that.
  • It may be sad that they're gone, but I agree that it's necessary for the enterprise. If MS's development processes can't keep out easter eggs, how can they keep out malicious backdoors? They're both just code that's against spec. And writing a spec for an easter egg means you just don't get it (is it a paradox even?).
  • I asked Jensen about easter eggs in Ofice here: http://blogs.msdn.com/jensenh/archive/2005/10/07/478214.aspx#478764

    He said they'd not been there since Office 2000. IMO ther were all great fun, but absolutely never should have been there in the first place. Excel 95 included a complete adventure game with graphics, movable characters & so on! Every second spent on that, was a second that could have been spent on issues of somewaht more importance.

    Leave 'em out, I say!
  • The best explanation I've heard for why easter eggs are problematic is that they are essentially intentional bugs in the product -- unspecced, untested, and unexpected behavior. The worst case would be if a critical patch had to be released to fix a problem introduced by an easter egg. That having been said, easter eggs are isolated and on a very uncommon user path by definition, so the risk is overblown, and it's usually written in someone's free time.

    I think it's a shame, though, that a team isn't allowed at least one planned easter egg, for that personal touch. One of my sources tells me that a recent version of Word would have had an acceptable real-time strategy game in it were it not for this policy.
  • I always thought the 98 easter egg was clever the way it incorporated the Memphis codename. Although the background music sounds a little too much like a porn soundtrack...
  • Phaeron, say a member of the Word team has two hours spare - paid, unpaid, or whatever. What would you rather have him or her do: (a) add an easter egg, which increases the code size with zero benefit to any end-user, or (b) work toward fixing a bug or finishing a new feature?

    I know which one I'd choose!
Page 1 of 5 (65 items) 12345