A furry blue monster with poor grammar and an insatiable taste for cookies (and almost anything else). Insatiable because nothing he ever eats manages to get to his stomach -it all seems to end up falling out the sides of his mouth. He inhabits a large American metropolis, living in the vicinity of 123 Sesame Street. CookieMonster''''''Diet: A diet where you can eat as much as you like, but you must eat by shoving everything into your mouth as fast as you can and chewing so recklessly that it all ends up spilling out the sides. -- StevenNewton I haven't watched the show for a few years, but for a while the stuff that went into Cookie Monster's mouth actually did disappear down his throat. I didn't like it, and I'd be glad if Cookie Monster has gone back to his classic table manners. ---- Several of the SesameStreet monsters have trouble with grammar. Elmo, particularly, seems to have an issue with pronouns. Grover does not use contractions. Is not that interesting? ---- Perhaps a digital legend, but I was once told of a clever hack perpetrated by an EE. He discovered that the keyboards in the college terminal room had a programmable ROM chip that was used to store what were essentially macros for the function keys. He analyzed the format and found a blank chip, then burned in his program to it. He then replaced a chip from one keyboard with his. When one key was pressed, it transmitted the worm inot the computer. Once there, the worm would infect a specific system executable, and then spawn a process that would wait a longish time, then print on the console "Gimme cookie". If ignored, it would wait a shorter time, then "Gimme cookie". Continual ignoring would shorten the delay until it was spooling out "Gimme cookie" as fast as possible. Typing "cookie" at the console would reset the program. The admins kept purging the program from disk, but it kept reloading from the modified keyboard, until the EE finally confessed. -- PeteHardie ''For more info, see http://www.multicians.org/cookie.html. Note that the program wasn't actually inspired by the CookieMonster, but by some cookie bear in a cereal commercial at the time.'' ''Actually, I was told that the CookieBear was a semi-regular character on the old Andy Williams Show. See the link below. Some links from the JargonFile that explain both the CookieMonster and the CookieBear: : http://www.catb.org/~esr/jargon/html/C/cookie-bear.html : http://www.catb.org/~esr/jargon/html/C/cookie-monster.html According to this page [http://members.aol.com/jaydeebee1/crash70s.html] the CookieBear on the Andy Williams show was played by the same actor that played the "Horta" on the Original StarTrek series. Apparently this guy had a thing for costumes. ---- Here is a SourceTest for uninitialized variables.... class CookieMonster { static const char chocChip=0x34; // Random nasty value.. unsigned int cookie; CookieMonster( int bytes) { memset( this /*maybe make it this+4 to skip vtable pointer */, chocChip, bytes /* maybe bytes - 4 for vtable pointer */); } ~CookieMonster() { assert( cookie == 0x34343434); } }; class MySuspiciousC''''''lass : public CookieMonster { MySuspiciousC''''''lass() : CookieMonster( sizeof(MySuspiciousC''''''lass)) { /// Do usual things.... } // Other stuff... }; The nifty thing is cookie monster will overwrite the memory that its subclasses will occupy with Nasty''''''Grams. Any uninited values should then be filled with nastygrams. On destruction, it will detect array index underflows. class Baby''''''Cookie : public MySuspiciousC''''''lass { unsigned int babyCookie; Baby''''''Cookie() { babyCookie = 0x43434343; /* Add some code to scan for chocChips between this and babyCookie which would either be an Uninitialized value or an alignment gap. Either way, you would know where to look closer! If thechunk of chocChips is larger than the compilers alignment then you have found the culprit! Clever huh? */ } ~Baby''''''Cookie() { assert( babyCookie == 0x43434343); } }; And catch any array index overflows from MySuspiciousC''''''lass. Strange. I'm feeling hungry for some reason... Tell me JohnCarter if it works. I (JohnCarter) have since found Valgrind (http://developer.kde.org/~sewardj/), which works a lot better. Yet another good reason to go the Linux route. ---- See also: MarthaStewartAndCookieMonster