Thread View: alt.folklore.computers
10 messages
10 total messages
Started by Michael Stimac
Wed, 13 Dec 1989 23:20
revenge
Author: Michael Stimac
Date: Wed, 13 Dec 1989 23:20
Date: Wed, 13 Dec 1989 23:20
50 lines
2692 bytes
2692 bytes
He Who Laughs Last Laughs Best Department: (names are changed to protect the innocent) I worked with RCA Computer Systems Division in Cinnaminson, New Jersey (and later Blue Bell, Pa) for several years both before and after the Computer div. was sold to Univac (many years before Univac became Unisys, or whatever). We wrote all the OS, compiler, and communication software for RCA's Spectra computers. There was a super programmer (we didn't use the word hacker in those antediluvian times) in the Languages Group, whom I will refer to as Rube. Rube was/is your basic computer genius. He had single-handedly invented and implemented a programming language which I will call IPL. IPL was used for all kinds of semi-official projects within the software development group. \Everyone/ in the company had high regard for Rube, who was a genial and helpful person to everyone. Well, nearly everyone. Now several management control systems had been cobbled-up using Rube's IPL language. There was one data center manager who apparently had no idea who Rube was, or who was otherwise too self-important to treat Rube with respect. One day, Rube wanted a small favor from this manager. The manager, forgetting which side his bread was buttered on, refused Rube's request as being against policy or whatever. This same data center manager daily ran his summaries and reports to higher management using Rube's IPL system. In a nice display of justice, Rube included in the next release of IPL, an additional feature, such that, when it was running a job for THIS manager a deliberate delay would be taken after each I/O operation. The amount of delay was minuscule, but was increased each and every calendar day! >From the point of view of the hapless manager, his job would run imperceptibly slower each day; but after a period of months (and years) he would no longer be able to get his report finished within the 24-hour reporting period! Remember - don't try this at home, kids! This is not a so-called urban myth; I am personally acquainted with "Rube". Michael Stimac .....sun!oliveb!tymix!stimac disclaimer: dis claimer here ain't dat claimer der!
Re: revenge
Author: DN5
Date: Thu, 14 Dec 1989 16:17
Date: Thu, 14 Dec 1989 16:17
18 lines
1321 bytes
1321 bytes
In article <3117@tymix.UUCP>, stimac@strider.uucp (Michael Stimac) says:
>>From the point of view of the hapless manager, his job would
>run imperceptibly slower each day; but after a period of months
>(and years) he would no longer be able to get his report finished
>within the 24-hour reporting period!
>
>Remember - don't try this at home, kids!
At the place where my wife works, there was a bunch of pranks played on
some of the new programmers hired. My favorite was one of a simplest:
somebody added a time delay into her LOGIN.COM file (VAX VMS, folks).
Like the above modification, it added a few seconds each day to the
delay. It was up to 10 minutes before she figured out why it took
her so long to log on...
Jay, etc...
d...@psuvm.psu.edu
Pranks (was Re: revenge)
Author: port... Michael Portuesi
Date: Thu, 14 Dec 1989 20:42
Date: Thu, 14 Dec 1989 20:42
27 lines
1790 bytes
1790 bytes
Back when I was in high school, they had a lab of about 30 or so
TRS-80 model III's that they used for Basic programming.
One day, either myself or another person got the idea for putting
together a fake basic interpreter. It accepted any line that began
with a line number, just as if the user were talking to the
interpreter. Any immediate mode commands, such as "run" or "list"
were greeted with "?syntax error".
We ran the program on all the lab machines. Many people were very
confused, though most didn't lose much work. They eventually just
turned the computer off and back on again, flushing the program from
memory.
Our sequel to the fake basic interpreter was a fake TRSDOS
interpreter. It would interpret TRSDOS commands, and even spin the
disks in the drives in a convincing fashion, but not do anything. I
don't think we finished that one before we lost interest in it and
gave up.
--M
--
__
\/ Michael Portuesi Silicon Graphics Computer Systems, Inc.
port...@SGI.COM Entry Systems Division -- Engineering
Re: revenge
Author: Tim Pozar
Date: Fri, 15 Dec 1989 00:01
Date: Fri, 15 Dec 1989 00:01
19 lines
1301 bytes
1301 bytes
In article <3117@tymix.UUCP> sti...@tymnet.com writes:
>There was a super programmer (we didn't use the word hacker in
>those antediluvian times) in the Languages Group, whom I will
>refer to as Rube. Rube was/is your basic computer genius. He had
>single-handedly invented and implemented a programming language
>which I will call IPL. IPL was used for all kinds of semi-official
>projects within the software development group.
IPL? I remember programming in a language called IP/L-1 on a
timeshared 360 in '74. This isn't the same language, is it?
Tim
--
Tim Pozar Try also...
Internet: po...@toad.com
Fido: 1:125/555
PaBell: (415) 788-3904
USNail: KKSF / 77 Maiden Lane / San Francisco CA 94108
Re: revenge
Author: Tom Fitzgerald
Date: Sat, 16 Dec 1989 04:17
Date: Sat, 16 Dec 1989 04:17
22 lines
1603 bytes
1603 bytes
stimac@strider.uucp (Michael Stimac) writes: >Rube included in the next release of >IPL, an additional feature, such that, when it was running >a job for THIS manager a deliberate delay would be taken >after each I/O operation. The amount of delay was minuscule, >but was increased each and every calendar day! There's a modern variant of this for graphic workstations that can be entertaining. Start a demon process on someone's workstation that gradually changes the mouse-velocity (or mouse-acceleration) upward, then downward, then upward... with a period of a couple of hours. They'll have a migraine by the end of the day. And apparently it's subliminal enough that people don't notice - they may keep disassembling the mouse to clean the mouseball, though. Under X-windows you can do this with XChangePointerControl. [Mouse velocity is the ratio of the movement of the physical mouse to the movement of the pointer on the screen. When it's too high, tiny movements of the mouse will fling the pointer across the screen. When it's too low, you have to slide the mouse across three feet of desktop to move the pointer halfway across the screen.]
Re: Pranks (was Re: revenge)
Author: Eugene Miya
Date: Mon, 18 Dec 1989 18:23
Date: Mon, 18 Dec 1989 18:23
25 lines
1863 bytes
1863 bytes
If you want programming pranks, you should check out a copy of
The Legends of Caltech. The last one was the McDonald's Affair
which shows the very simple Fortran program to print out names and
addresses. Enter as many times as you like. Like 1.5 million.
This was about 1/3 of the total entries and they expected to win
1/3 of the prizes: mostly food, but also 5 small cars and 1 sports car.
McDonalds came out and said that for each Caltech won prize a
separate non-Caltech prize would be awarded. This resulted
in coupons now saying "No electronic means of duplication.
Legends of Caltech is available from the Caltech bookstore for $10
along with the Richard Feynman CD and other curious and strange things.
Many other programming pranks (such as the reprogramming of the
Rose Bowl sign) can be found in RISKS.
This list is getting too long to read. Starting to impact work!
Another gross generalization from
--eugene miya, NASA Ames Research Center, eug...@aurora.arc.nasa.gov
resident cynic at the Rock of Ages Home for Retired Hackers:
"You trust the `reply' command with all those different mailers out there?"
"If my mail does not reach you, please accept my apology."
{ncar,decwrl,hplabs,uunet}!ames!eugene
Support the Free Software Foundation (FSF)
Re: Pranks (was Re: revenge)
Author: sc... Scott Yelich
Date: Tue, 19 Dec 1989 17:26
Date: Tue, 19 Dec 1989 17:26
56 lines
3730 bytes
3730 bytes
> One day, either myself or another person got the idea for putting
> together a fake basic interpreter. It accepted any line that began
> with a line number, just as if the user were talking to the
> interpreter. Any immediate mode commands, such as "run" or "list"
> were greeted with "?syntax error".
See ``gremlins'' on the apple ][s.
1) There was this guy who thought he was a super ``hacker.'' He would
STEAL your disks when you were not looking and copy them. He would
even take disks out of the drive of the machine you were using...
Anyway, I made this program..... and started a rumor that I had the
BEST and FASTEST copying program out. It was the smallest program
yet because it was written in a super high level language (PASCAL?)
and it copied EVERY DISK. Well, sure enough.... he stole one of my
disks one day and got a copy of it. The program was short, sure,
the only commands it had in its executable were similar to:
``format; print "Please insert next disk...''
2) I used to write my name in the ``hub'' section of ALL my 5.25 floppy
disks. I used to have so many I would lose track of them. I would
always inspect disks that I found... or that other people let me
borrow.... one time a conversation went something like this:
me : ``Is this your disk?''
Him: ``Yes.''
me : ``I lost a disk yesterday and it looks a lot like this one''
(As I read my name in the center near the hub...)
Him: ``I bought it last week.''
me : ``Did you get a good deal? I looks like a good quality disk.''
Him: ``It was on sale.''
me : ``Oh? Tell me, do you always buy disks with my name on them?''
Him: ``Huh? Oh, maybe I did find this one.''
me : ``Yeah.'' (as I took the disk back)
3) I did something similar to #1 above... except for the Atari computer.
This was for a cheap BBS operator who thought having the newest WAREZ
was cool. Anyway, he wanted the newest upgrade to his BBS that was
supposedly hacked out by hackers... :) Anyway, my program said something
like insert your BBS MASTER disk... for upgrading. It also said:
DO NOT REMOVE THE DISK UNTIL UPGRADE IS FINISHED. Well, all it really
did was read the disk sectors from 1 to 720 by a step of 19... and that
made it sound like it was formatting the disk! Well, also, I did
punch hole in his vtoc! :)
4) There are a BUNCH of things for unix.. I love them.... especially
for those who think they are hackers on unix. like:
``alias whoami "echo root"''
stuff like that.
--
-----------------------------------------------------------------------------
Scott D. Yelich sc...@cs.odu.edu [128.82.8.1]
After he pushed me off the cliff, he asked me, as I fell, ``Why'd you jump?''
-----------------------------------------------------------------------------
Re: Pranks (was Re: revenge)
Author: s... Stephen Wadlow
Date: Thu, 21 Dec 1989 02:21
Date: Thu, 21 Dec 1989 02:21
31 lines
2159 bytes
2159 bytes
In article <PORTUESI.89...@tweezers.esd.sgi.com> port...@sgi.com (Michael Portuesi) writes: >One day, either myself or another person got the idea for putting >together a fake basic interpreter. It accepted any line that began >with a line number, just as if the user were talking to the >interpreter. Any immediate mode commands, such as "run" or "list" >were greeted with "?syntax error". hey Mike! We had done a similar version of this that would allow you to type in an entire program, but on the command "run" it would start printing peeks of all the memory from 1 to some large number and the machine would freak. We had disabled the break key, so there was no way for the user to halt the program short of a power cycle, though there was an interrupt (control shift up-arrow I think) that would allow us to stop the program and return to basic. Kind of nasty, but occasionally fun.... The other high school hack I pulled on the old model 3's was to have it slowly draw in crufty trs-80 graphics some basic lines in some generic pattern. I got then memorize the pattern, and showed the program to the teacher. While the program was running, I touched the screen, and moved my finger at the same speed and in the same places that the machine was drawing graphic blocks. To the unaware observer (ie, my teacher) it appeared that I had written something that made the model-3 monitor into a touch screen. He was disappointed when I told him the truth, though I think he did pull the same stunt on a few other people. steve
Re: Pranks (was Re: revenge)
Author: Tim Pozar
Date: Thu, 21 Dec 1989 07:42
Date: Thu, 21 Dec 1989 07:42
296 lines
7430 bytes
7430 bytes
In article <PORTUESI.89...@tweezers.esd.sgi.com> port...@sgi.com (Michael Portuesi) writes:
>Our sequel to the fake basic interpreter was a fake TRSDOS
>interpreter. It would interpret TRSDOS commands, and even spin the
>disks in the drives in a convincing fashion, but not do anything. I
>don't think we finished that one before we lost interest in it and
>gave up.
I betcha everyone screwing around with MS-DOS did one of these...
Tim
---
#include <stdio.h>
#include <ctype.h>
/*
A replacement for COMMAND.COM
T. Jennings 28 Dec 84
Docs? You cant be serious ...
*/
version = 0; /* initial (ahem) version */
char drive = 'A';
unsigned rnd; /* fake random number */
#define same(s1,s2) (strcmp(s1,s2) == 0)
main() {
long l;
char ln[132];
char cmd[80],*arg,*cp;
for (l= 10000L; l > 0L; l--); /* look busy */
cprintf("Current date is Tue 1-01-1980\r\n");
get(ln,"Enter New date: ");
cprintf("Current time is 0:01:21.32\r\n");
get(ln,"Enter new time: ");
cprintf("\r\n\r\nThe IBM Personal Computer DOS\r\n");
cprintf("Version 2.00 (C)Copywrong IBM Corp 1981, 1982, 1983 so there\r\n");
/* Now the fun starts */
drive= 'A';
while (1) {
cprintf("%c>",drive);
drive+= 7; if (drive > 'Z') drive= 'A';
get(ln,""); /* get command line */
arg= cmd; /* copy of command name */
cp= ln;
while (*cp && (*cp != ' '))
*arg++= *cp++;
*arg= '\0'; /* terminate cmd name */
while (*cp && (*cp == ' ')) /* skip spaces, etc */
++cp;
arg= cp; /* arg is cmd tail */
if (same(cmd,"dir")) dir();
else if (same(cmd,"ver")) ver();
else if (same(cmd,"cd")) cd(arg);
else if (same(cmd,"chdir")) cd(arg);
else if (same(cmd,"date")) date(arg);
else if (same(cmd,"time")) time(arg);
else if (same(cmd,"ren")) del(arg);
else if (same(cmd,"del")) del(arg);
else if (same(cmd,"erase")) del(arg);
else if (same(cmd,"prompt")) prompt(arg);
else if (same(cmd,"set")) set(arg);
else if (same(cmd,"exit")) exitc();
else if (same(cmd,"plugh")) goway();
else if (strlen(cmd) > 0) command(cmd,arg);
}
}
/* Go away */
goway() {
cprintf("\r\n");
cprintf("COMMAND.EXE -- 28 Dec 84 T. Jennings\r\n");
exit();
}
/* Display wrong MSDOS version */
ver() {
version += 137;
cprintf("IBM Personal Computer DOS version 2.%d\r\n",version);
cprintf("\r\n");
}
/* DOS prompt */
prompt() {
cprintf("But I like the prompt as it is\r\n");
cprintf("\r\n");
}
/* set environment */
set(s)
char *s;
{
if (strlen(s)) cprintf("%s? ",s);
cprintf("That sounds interesting\r\n");
cprintf("\r\n");
}
/* Exit program */
exitc() {
cprintf("No, I am not going away.\r\n");
cprintf("\r\n");
}
/* delete some files */
del() {
disk(); disk();
if (chance(50)) dosmsg();
else cprintf("File not found\r\n");
cprintf("\r\n");
}
/* dont list disk files */
dir() {
if (chance(30)) dosmsg();
else {
disk();
cprintf("Volume in drive %c: label fell off\r\n",drive);
disk(); disk();
cprintf("Directory of %c:\\\r\n",drive);
cprintf("\r\nFile not frammished\r\n");
}
cprintf("\r\n");
}
/* Refuse to change directories */
cd(arg)
char *arg;
{
if (chance(40)) dosmsg();
else cprintf("Invalid directory\r\n");
cprintf("\r\n");
}
/* Set the time */
time() {
if (chance(35)) cprintf("Time? Who has time?\r\n");
else if (chance(15)) cprintf("I forget\r\n");
else cprintf("Buy a watch\r\n");
cprintf("\r\n");
}
/* Set the date */
date() {
if (chance(25)) cprintf("My birthday!\r\n");
else if (chance(25)) cprintf("Most banks give out calendars, why not ask for one next time you're in?\r\n");
else cprintf("Sometime after 1980\r\n");
cprintf("\r\n");
}
/* Display a prompt, input a line of text, convert it to all
lower case. While we're at it, generate a fake random number by
continually incrementing an integer while waiting for a key. */
get(l,p)
char l[];
char *p;
{
int i,j;
char c;
cprintf("%s",p);
i= 0;
while (1) {
while (! (c= bdos(6,0xff))) rnd += 17;
/* Backspace and delete: MOST of the time, do it right. Once in a while,
backspace by deleting the whole line, and restoring it all except the
last deleted character. */
if ((c == 8) || (c == 127)) {
if (i > 0) {
if (chance(30)) {
for (j= i; j--;) cprintf("\010 \010");
--i;
for (j= 0; j < i; j++) bdos(6,l[j]);
} else {
--i;
cprintf("\010 \010");
}
}
/* since control-c probably means banging on the keyboard in frustration,
be nasty. */
} else if (c == 3) {
switch (rnd % 4) {
case 0: cprintf("Ouch!\07\r\n"); break;
case 1: cprintf("Cut it out!\r\n"); break;
case 2: cprintf("Stop it!\r\n"); break;
case 3: cprintf("That hurts!\r\n"); break;
}
i= 0;
break;
/* Carriage return: be merciful */
} else if (c == 13) {
cprintf("\r\n");
break;
/* Tabs are fun. Space over a random number of spaces */
} else if (c == 9) {
for (j= (rnd % 6) + 4; j > 0; --j) {
bdos(6,' ');
l[i++]= ' ';
}
/* Control characters: normal until I figure out what to do */
} else if (c < ' ') {
cprintf("^%c",c + '@');
} else {
bdos(6,c);
l[i++]= c;
}
}
l[i]= '\0';
for (i= 0; l[i]; i++) l[i]= tolower(l[i]);
}
/* Chance: the number given is a percentage of 100, return true if
we are in range. */
chance(n)
int n;
{
return(n > (rnd % 100));
}
/* make the disk look busy. */
disk() {
int n,i;
long l;
for (i= 2; i--;) {
n= open("foo",0);
for (l= 1000L; l > 0L; l--);
if (n != -1) close(n);
}
}
/* Randomly choose a DOS message */
dosmsg() {
int i;
i= rnd % 10;
switch (i) {
case 0: cprintf("What was that? I wasnt paying attention\r\n"); break;
case 1: cprintf("Invalid directory\r\n"); break;
case 2: cprintf("Insufficient disk space\r\n"); break;
case 3: cprintf("Do you hear music?\r\n"); break;
case 4: cprintf("Invalid number of parameters\r\n"); break;
case 5: cprintf("Duplicate File name or File not found or I lost it\r\n"); break;
case 6: cprintf("I see no FILES here\r\n"); break;
case 7: cprintf("Nothing happens\r\n"); break;
case 8: cprintf("Insufficient memory\r\n"); break;
case 9: cprintf("Error creating file or pipe\r\n"); break;
default: printf("rnd = %d default?\r\n",i); break;
}
}
/* "execute" a command */
command() {
disk(); disk(); disk();
cprintf("Bad commmmmmmand or file name\r\n");
}
--
Tim Pozar Try also...
Internet: po...@toad.com
Fido: 1:125/555
PaBell: (415) 788-3904
USNail: KKSF / 77 Maiden Lane / San Francisco CA 94108
Re: Pranks (was Re: revenge)
Author: arro... Kenneth Arromdee
Date: Thu, 21 Dec 1989 07:47
Date: Thu, 21 Dec 1989 07:47
19 lines
1756 bytes
1756 bytes
>>One day, either myself or another person got the idea for putting
>>together a fake basic interpreter. It accepted any line that began
>>with a line number, just as if the user were talking to the
>>interpreter. Any immediate mode commands, such as "run" or "list"
>>were greeted with "?syntax error".
There was a program called FOOLS which did this on an Apple ][, which I had a
bit of fun with in high school, for that matter. It had appeared in Softside
as an April Fools joke, and for some reason the teacher (who also had an apple
][) brought a copy to class. After I left it running on a few computers
once, the teacher deleted all copies of it on the floppies (nobody brought
their own). By that time I had placed it after the end of the HELLO program,
and was able to get a copy any time I want by loading HELLO and deleting the
first few lines, so it stayed around for some time.
--
"Workers of the world, we're sorry!" --Soviet protestor's slogan
Kenneth Arromdee (UUCP: ....!jhunix!arromdee; BITNET: arromdee@jhuvm;
INTERNET: arro...@crabcake.cs.jhu.edu)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads