Why does Windows 95 have functions called BEAR, BUNNY and PIGLET?
If you dig back into your Windows 95 files, you’ll find that some internal system functions are given names like
PIGLET12. Surely there is a story behind these silly names, isn’t there?
Of course there is.
“Bear” is the name of the Windows 3.1 mascot, a stuffed teddy bear seemingly-obsessively carried around by Dave, one of the most senior programmers on the team. If he came into your office, he might bounce Bear on your monitor to get your attention. As a prank, we would sometimes steal Bear and take him on “vacation”, in the same way people take garden gnomes on vacation and send back postcards.
If you play the Windows 3.1 easter egg, one of the pictures you will see is a cartoon of Bear.
Bear took a lot of abuse. He once had the power cord to a Tempest video game run through his head between his ears. Neil Konzen tried to stick a firecracker up Bear’s butt. (Presumably not while it had the power cord in its head.)
By Windows 95, Bear was in pretty bad repair. (The children of one of the program managers once took pity on Bear and did a very nice job of of getting Bear back in cuddle-able condition.)
So Bear was retired from service and replaced with a pink bunny rabbit, named Bunny. We actually had two of them, a small one called “16-bit Bunny” and a big one called “32-bit Bunny”. Two bunnies means twice as many opportunities for theft, of course, and the two bunnies had their own escapades during the Windows 95 project. (When Dave got married, we helped 32-bit Bunny crash the party and sent back pictures of Bunny drunk on wine.)
Dave was primarily responsible for the GUI side of things, so you’ll see the BEAR and BUNNY functions in the DLLs responsible for the GUI. On the kernel side, Mike had a Piglet plush toy (from Winnie the Pooh). So when we needed to name an internal kernel function, we chose PIGLET. Piglet survived the Windows 95 project without a scratch.