|
|
|
|
Apple
Easter Eggs
Programming
|
|
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.
Who?
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
- 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.
|