Dojo (HowTo)







  Easter Eggs




  Martial Arts

Apple Easter Eggs

By: David K. Every
& Daniel Fanton
(C) Copyright 1999 DKE - All Rights Reserved.

MPW - Mac Programming Workshop

An MPW Shell (for a past released Golden Master) has a couple of easter eggs.


The color-coding (MPW Technicolor) is referred to in two resources; 'Odds' and 'Sods'.

For the record, 'Odds and Sods' is an album by "The Who".

Projector Errors

  1. I the STR# resource, ID 130, entries 59 through 63 showÖ

    (59) Hey, %s, aren't you getting bored!
    (60) Come on %s, give it up!
    (61) Oh, please %s, stop!
    (62) Stop! Stop! Don't stop %s!
    (63) %s, don't give up now!

Mr. Rosenstein and Bill Colsher add that these strings show up as part of the Projector source code control system. If a projector database is locked (in use on a shared computer for example) and someone else tries to check code out of it, the shell (after a while) will put up a dialog asking if you'd like to cancel. (The %s in the above is replaced with your user name.) As you wait longer, it cycles through successive messages. Colsher claims that the mouse must be over the "Give Up" button to see the messages.

Error Messages

These error messages may not be "technically" easter eggs -- but they are typical programmer humor, and pretty funny. So in the spirit of worshiping geeks, they've been add to the collection.

MPW means Macintosh Programmers Workshop and it is a development system created by Apple. It is a collection of C and C++ development tools, and is a very Unix-like development environment (it has a command-line, can run scripts, and so on).

The below messages are from an old 68k compiler. The newest compiler does not have them. The messages can be found in the STR resource, or you may wander across them while working.

  • "You can't modify a constant, float upstream, win an argument with the IRS, or satisfy this compiler"
  • "This struct already has a perfectly good definition"
  • "This onion already has a perfectly good definition"
  • "Can't cast a void type to type void (because the ANSI spec. says so, that's why)"
  • "String literal too long (I let you have 512 characters, that's 3 more than ANSI said I should)"
  • "...And the lord said, `lo, there shall only be case or default labels inside a switch statement'"
  • "a typedef name was a complete surprise to me at this point in your program"
  • "`Volatile' and `Register' are not miscible"
  • "This struct already has a perfectly good definition"
  • "Only one parameter per register please "
  • "type in (cast) must be scalar; ANSI 3.3.4; page 39, lines 10-11 (I know you don't care, I'm just trying to annoy you)"
  • "This array has no size, and that's bad"
  • "Huh ?"
  • "can't go mucking with a `void *'"
  • "we already did this function"
  • "The target of this goto is a label in a block that has an automatic variable with an initializer"
  • "This label is the target of a goto from outside of the block containing this label AND this block has an automatic variable with an initializer AND your window wasn't wide enough to read this whole error message"
  • "Call me paranoid but finding `/*' inside this comment makes me suspicious"
  • "This function has an explicit return type and deserves a return value"
  • "You are comparing two structures that have holes in them"
  • "Too many errors on one line (make fewer)"
  • "Symbol table full - fatal heap error; please go buy a RAM upgrade from your local Apple dealer"
  • "Trailing comma not permitted in enum definition. (This time I'm letting you off with a warning)"

Thanks to Bruce Hoult. Posted by Robert Lentz ([email protected]) on his web page.

Created: 08/26/98
Updated: 11/09/02

Top of page

Top of Section