I enjoyed Chuck Hill's story about EDGAR the cli replacement.
It brought me back to the early 80s, when I worked my way through engineering college at the University of Colorado at Boulder as a DEC VAX/VMS hacker…er… programmer at NOAA and later Mobil Oil.
Like RSX-11, VMS allowed for a lot of shenanigans by the users to game their friends and enemies.
The classic was to alter someone’s .login script and redefine certain commands, or run init scripts much like .cshrc and alias today in linux/unix. At NOAA, we had all sorts of variations, but the best one was the “removing all files – press del to stop,” which of course did not work but also was only a simulated listing of all of the files with “deleting….” in front--w/o ACTUALLY deleting.
Of course, dir was redefined by that script to simply print, “no files found”. While harmless, like Chuck's colleage "Dave," many a frantic person nearly broke their del key in a panic-attack.
'Bonehead' in the cross hairs
My ultimate hack-attack came one summer at Mobil Oil. We had a bone-head much like Dave, also named, unfortunately, Jeff. His major faux pas was to one day alter the system-wide .startup file to “fix” the ASCII mapping. His foolish hack permanently disabled ALL of the VT220 terminals and made it impossible to go back and edit the changed .startup file to fix it.
I had to pull out the manual on the old line editor and use the only working terminal in the whole system, an aged teletype, to search for and fix his ill-advised modification. Feeling fully justified and even compelled to solve the “Jeff” issue, I thought about how to slow Jeff’s productivity, so I devised a series of scripts and hacks as part of my system setup files job.
Essentially, I created a daemon that sat in waiting for “Jeff” to login. Once he logged in, this demon “niced” everything he did, every process he spawned. It even occasionally froze his processes minutes at a time. Now mind you not only was this in his .login, it was in the system .startup, not once but twice. One was obvious, but the other was hidden by being named similarly to an ancillary disk process.
Once started, this sweeper process went back, checked to see if the .login or .startup had been altered and “fixed” them BACK to the demon version. Finally, I added the same “sweeper” to the backup routine that ran nightly, incrementally and another backup script that ran weekly, full backup to ensure that any attempts to remove my hack were reversed.
It took MONTHS after I left that summer, to finally ferret out all of my hidden hacks to contain “Jeff.”
The next summer, I was re-hired at Mobil, and on the first day, the new manager called me into his office. He noted my cleverness, informed me that “Jeff” was now gone, and lastly, that I was to NEVER DO THAT AGAIN!
One of the reasons that these pranks are pulled, in industry, is to point out the problems MANAGEMENT ignores. If you have someone on your project, or even leading it, that is causing problems, MANAGEMENT NEVER notices, especially if it's another manager. Pulling the prank highlights the problem and forces MANAGEMENT to do something about it.
When I was in college my roommate p!ssed me off. He had an IBM XT (showing my age here!) so I changed his command prompt to read "error reading drive C: Abort, Retry, or Ignore?" Funny as h3ll watching him panic. I didn't wait to long to let him in on the joke but he never p!ssed me off again.
Yes I am smart enough never to pull that kind of stunt outside of college.
I like this story.
In the past at the University of Stuttgart we had a similar, yet trivial hack for a chinese postgraduate: his VMS login script ended 'logout'.
You might imagine his astonishment :)
He was not too fit (thus the hack), so one of his colleagues hat to Ctrl-C his login and remove the 'addon' feature.
I narrowly missed the teletype - my first computer system used an IBM electric typewriter to communicate with the world. Many of our test programs were poor and I wrote one to test for specific printer faults. The program opened by typing an invitation to type out the user instructions, with a warning to new users that they should do this. It also typed out 'Incompetent Cretin' if incorrect inputs were given. One of the worst engineers that I had the misfortune to work with attempted to use the program without reading the instructions and, of course, entered a faulty command. Unfortunately I had accidentaly left a loop in the program, which then typed out 'Incompetent Cretin' repeatedly. He was hear to hysterics, and deep in continuous stationery, by the time I came out to see what the problem was.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.