- Security
- A
April Fools' joke that almost got me fired
Everyone should play one great joke at least once in their life. In this article, I will talk about mine. The story is true, only the names have been removed to protect the guilty.
Everyone should, at least once in their life, pull off a magnificent prank. In this article, I will tell you about mine (I think the statute of limitations has already passed). The story is true, only names have been cut out to protect the guilty.
In my first job after college, I was a database programmer, even though my degree had nothing to do with computers, and neither does my current profession. The reason was that the university I worked for could not offer a competitive salary, but had various non-monetary perks, plus they were willing to train anyone with enough knowledge for the job. I, a freshly graduated student from the University of California, was proficient in at least working with BSD/386 and SunOS, and more importantly, I had excellent references from my predecessor, who had been promoted. They hired me, and that became their first mistake.
I was supposed to work with the HP 9000 K250 — one of the large Hewlett-Packard PA-RISC servers. Unfortunately, I don't have any photos, just a couple of low-quality scans of Polaroid pictures of my office. The server room was one floor below my office, and the door had a card-access lock. The K250 was there, and later it was replaced with some model of Encore mini (probably a Multimax, because it was already several years old, and the Encore 88K would have been too new for the university) and AIX RS/6000, which handled student and faculty shell accounts and email; there were also T1 lines, several terminal servers, huge Cabletron routers, and a lot of telecommunications equipment. One of the Encore tape reels still hangs on my wall as a memento.
The K250 and its replacement, the Encore (as well as the L-Class, which later replaced the K250), managed the fully functional student information system CARS. CARS is still in use, now called Jenzabar, though I suspect much of its internals have stayed the same. Back then, CARS was a massive overlay loaded on top of the operating system and database; when I started, that meant HP/UX 10.20 and Informix. (Yes, I’m ancient.) It used Informix tables, screens, and stored procedures, plus its own text UI libraries to execute code that had previously been written as Perform screens, SQL, C-shell scripts, and good old C or ESQL/C. Everything was tracked in RCS via sprawling Makefiles. I handled the administrative side (resource management, financials, attendance trackers, and so on), while my office-mate dealt with the academic side (mostly grading and faculties). My job was to write and maintain this code, and soon after, I also started helping the university build applications for the new CARS web module, for which the newly popular scripting language Perl was chosen. Luckily, I had learned Perl well enough through a computational linguistics course.
CARS also ran most of the campus printers, except for those managed directly by an RS/6000. For the most part, the campus’ administrative printers were some models of HP LaserJet 4 equipped with JetDirect network cards. These are good “workhorses,” some of the best HP laser printers. I suspect there were also line printers elsewhere, but HPs were mostly used in university offices.
It turned out that the READY message ("Ready") displayed on the VFD panels of these printers could be changed. I don't remember how I found out about this, probably by flipping through the user manual during lunch. The first funny joke that came to my mind was displaying a greeting to my boss when she sent tasks to the printer. But then it dawned on me: since I had access to the printer spools on the K250, and the spool folders were conveniently named after host names, I knew where each network LaserJet was located on campus. I was young, eager, and motivated. I couldn't resist this hack. It would even be better than my favorite joke: at my alma mater, campus services that posted notifications about temporary service restrictions once reported on April 1st that gravity would temporarily be turned off in some buildings. I was sure my hack would surpass this prank.
I planned to come to work very early on April 1st and change the message "Ready" to "Insert 5 Cents" for each printer in the buffer. It would seem that every network LaserJet on campus was asking for money to print. The script was very simple (this is the actual script, I saved it):
#!/bin/csh -f
cd /opt/carsi/spool
foreach i (*)
echo '^[%-12345X@PJL RDYMSG DISPLAY="INSERT 5 CENTS"' | netto $i 9100
end
^[
is the literal 27th ASCII Escape character, and netto
is a simple script similar to netcat
that I wrote in those days when netcat
was not as widely used. That’s it. To clarify, the printer was still ready to work. The change was purely cosmetic! If tasks were sent to the printer, it would print. Nevertheless, to complete the joke, I sent a message to the campus administrator mailing list (I also saved the text):
To: [email protected]
Date: xxx, 1 Apr xxxx 05:41:34 -0800 (PST)
Subject: IMPORTANT MESSAGE ABOUT PRINTER USAGE POLICY
Due to increased costs of maintaining campus printers,
all printers on campus will be reprogrammed for per-page payment
to cover these rising expenses. This change takes effect immediately.
Most printers will require 5 cents for each printed page.
Payment can be done to an account or through special coin acceptors on the device itself,
which will be installed by technicians by the end of the week. If your office does not
yet have an account set up, the printer will automatically prompt you to insert 5 cents
for each printed page. To find out if your printer requires 5 cents,
look at its LCD display before using the printer.
For additional printers, payment equipment will be installed as soon as possible.
Technicians will provide departments with specific details.
All accounts will be managed through the CARS system. Do not call the help desk.
To create or check your department's printer account, call me at
xxxx.
Direct all other questions to me as well.
We apologize for any inconvenience and hope the new payment requirement
will not negatively impact your department's productivity.
At the end of the day, I would set all the displays back to READY, smirk smugly, and go on with my miserable existence. That was the plan.
After sending out the memo, I got a few calls from annoyed staff who burst out laughing when they heard about the prank, after which I manually reset their printers to the original state. My friends, knowing I liked to joke around, checked the calendar and approved. The best response came the same day through campus mail—a page printed on a laser printer, with a nickel taped to it.
Unfortunately, not everyone on campus knew me, and someone decided not to call me but contacted the university administration directly. By 8:30, chaos had erupted in the main office, and the information reached the head of HR, who most likely didn’t know me and said I’d better send out a retraction as soon as possible, before the CFO read the email and I got into serious trouble. But that didn’t go smoothly either, because in my retraction I mentioned that the campus administration was not considering pay-per-page billing, although, as it turned out, they actually were. So I had to retract the retraction in order not to draw attention to this fact. On top of that, I had to launch the rollback script earlier. By around noon, the commotion had died down. Everyone in the office thought it was very funny. Even my boss, who officially expressed her displeasure, thought it was pretty amusing.
As if that wasn’t enough, another problem arose—the IT director (my boss’s boss) was on vacation at the time. (Check email remotely? Who needs that?) I made things worse by leaving to go skiing the following weekend and part of the week. So when he read through a pile of angry emails, I wasn’t around to explain myself. (My office mate recalled that the director walked in wide-eyed and asked, “What did he do?”) When I returned, the atmosphere in the office was colder than the top of the mountain I’d been skiing on. The director’s assistant, who had thought my prank was funny, got into trouble for not putting a stop to it, and I was in even bigger trouble. I was deeply repentant, offered many apologies, and—uncharacteristically for me—became a model employee for an unnaturally long stretch of time.
The ice age finally ended, and the incident was officially considered closed—except for an unflattering comment at my next review and the satisfaction of having pulled off the best prank the campus had ever seen. Even years later, people said it was legendary.
I like to think they still do.
Write comment