We need more pranks. Talking about this is an excuse for me to relate some stories about pranks I was involved with as a software engineer at Silicon Graphics (SGI). Silicon Graphics no longer exists, but it pioneered the design of modern graphics hardware and of multiprocessor OS kernels. Other cool companies that nucleated around former SGI engineers include NVidia and Netscape, and several current Google buildings were originally SGI buildings. One thing that attracted me to SGI was the creative spirit of the place. Engineers there aimed to make SGI computers amazing in one way or another, sometimes at the price of more pedestrian objectives like standards compliance. The zeitgeist was that an SGI machine was like a motorcycle: you could go fast and have fun, but should always be ready to get a little muddy. With that creative, free-wheeling spirit came tolerance and even enjoyment of pranks, a few of which I pulled off in the couple of years I worked there. I’d like to get them off my chest! One of them even became officially shipped software that quite possibly influenced computers you use today.
I should acknowledge that for some of these pranks I had co-conspirators, especially Bruce Karsh, a funny, insightful, and creative guy who unfortunately passed away not long ago.
The Flight Simulator. The pride, joy, and selling point of SGI computers, especially in the early days, was its flight simulator, a networked multiplayer game offering planes ranging from an F-16 to a 747. Late one night I resolved to enhance the simulator by deforming all the planes in exciting ways. I bent the F-16 like a banana. The Cessna was puffed up like it was made of overinflated rubber. The 747 was stretched in all directions to truly enormous proportions. The P-38 was twisted like a corkscrew. The hardest parts were figuring out how to correct all the surface normals (pro tip: gradient transpose), and figuring out which company build machine I needed to hack into to get the mods into the next nightly build. SGI had a strong dogfooding culture, so anything that made it into the alpha-release build would show up on a lot of desktops the next morning. Hacking in wasn’t difficult—most SGI machines didn’t have root passwords—a different time! By the time I got into work, everyone was already laughing about the absurd-looking planes and speculating about who had hacked the company’s sacred cow.
The Logo. Most Unix systems back then weren’t visually appealing when you turned them on — you just saw the output of a bunch of scripts. SGI was proud of its cool logo designed by Scott Kim:
The logo was even hard-coded into the boot loader so it was the first thing you saw when the machine started, even before the kernel was running. We tracked down this low-level code and changed it so that flipping the on-switch showed, in place of the SGI logo, the image of J. R. “Bob” Dobbs, putative founder of the Church of the SubGenius, a parody (?) cult. Strangely, this sacrilege did not prompt calls for reexamining security practices.
The Fiscal Calendar. Some pranks were more politically sensitive. SGI was having a tough time in 1992, far from the later heady days when their stock valuation soared above that of Apple, and they bought both MIPS and Cray. They canceled the usual employee summer picnic with the excuse that it would be delayed until “later in the fiscal year”. Since the fiscal year began in midsummer, this was actually doublespeak for “delaying” the picnic until the following summer—that is, canceling it. We developed an alternate version of the employee calendar, dubbed the “Fiscal Year Calendar”. Everything was shifted by six months, so “Fiscal January” was actually July, and the calendar featured exciting events like “Fiscal St. Patrick’s Day” (Sept. 17). At 2 AM we distributed paper copies of the calendar to all engineer mailboxes, and also the mailboxes of the CEO and the President of the company. Fortunately, it was all taken in good fun.
The Informer. Later on, the company decided to circulate information to employees not electronically, but through bulletin boards posted throughout the various buildings. The bulletin boards were not available for general use, though; flyers posted without a special sticker on them would be removed. The bulletin boards all came with a large plastic label reading “SGI Informer”:
The engineers found this unabashed celebration of informers just a bit sinister. We went around to all the Informer boards and replaced the sheet announcing the creation of the SGI Informer with a new sheet explaining that we had now become part of a joyous totalitarian regime in which we should not suspect our neighbors—but instead inform on them because suspicion breeds confidence. And chocolate rations would be increased next week, and so on, ala Orwell’s 1984 and the movie Brazil. Since our replacement sheet looked from a distance exactly like the original announcement, no one in HR noticed until everyone had been snickering about it for several days.
Pandora. A final prank was actually more like a serious software development effort. Like all other Unix machines (except the Next), an SGI machine displayed a nearly blank screen with a text “login:” prompt when users were logged out. Bruce and I thought this was embarrassing for a company that was all about graphics, and decided there should be a new kind of login program that was graphical and let users log in by clicking on their own photos. This kind of login is standard now, but at the time, nothing like it existed. Now, we had developed a nice graphical UI toolkit to build on, but unfortunately, the normal graphics API did not work when users were logged out. I converted the standard program “login” into a fully graphical version and then wrote a new graphics layer that enabled our UI widgets to work atop the more primitive graphics interface available after logout. This was not an approved project, though! I called it “pandora” in a bit of dark humor, since logging in is “opening the box” and who knows what mischief might ensue. I inserted pandora into the build tree just like my previous pranks. We were already at alpha release 14, fairly close to a planned beta release, so the next morning, a lot of engineers were startled to find themselves logging in an entirely different way. Despite some bugs, the value of the new user experience was so evident that it became part of the next release.
My takeaway lesson from these experiences is that we need more pranks. They build community and make work more fun. It’s important to have the right kind of prank, though. The key to a really good prank is that it should be meaningful. It should poke fun at ridiculous rules or sacred cows. But a good prank is never mean. It should be enjoyed by everyone with a sense of humor except, perhaps, those in power.
Dave Ciemiewicz helped with some pranks too and also reminded me more recently of some details. Chris Pirazzi saved the fiscal calendar and provided the image of it.