[Prev][Next][Index]
Yucks Digest V1 #80
Yucks Digest Mon, 2 Sep 91 Volume 1 : Issue 80
Today's Topics:
Administrivia
"grope" man page.
A proposal
conscience defined, but never used
errno entries
Fun with the "make" command
Humor ala Kernighan
man page for GNU echo command
Stupid-sort -- an O(n*n!) sort program
Unix Adventure, Part II
Unix file names
What is a Unix Guru
What is a Usenet guru?
Zippy the Pinhead is a live and well and living in New York.
The "Yucks" digest is a moderated list of the bizarre, the unusual, the
possibly insane, and the (usually) humorous. It is issued on a
semi-regular basis, as the whim and time present themselves.
Back issues may be ftp'd from arthur.cs.purdue.edu from
the ~ftp/pub/spaf/yucks directory. Material in archives
Mail.1--Mail.4 is not in digest format.
Back issues may also be obtained through a mail server. Send mail to
"yucks-request@uther.cs.purdue.edu" with a "Subject:" line of the
single word "help". You may also use this server to join or leave the
list, or to obtain an index of past issues.
Submissions and subscription requests should be sent to
spaf@cs.purdue.edu or yucks@uther.cs.purdue.edu
----------------------------------------------------------------------
Date: Mon Sep 2 14:00:11 EST 1991
From: spaf
Subject: Administrivia
To: yucks
I went through one of my directories, trying to clean up my disk a
little, and stumbled across these little gems. These represent various
things culled from Usenet over the span 1980 to 1987 (I believe). Yes,
Virginia, there was a network back then, although it had different
group names, and the material was more interesting, and there was much
less flaming.
Some understanding of Unix and/or C is required for a few of these.
I hope you find this "blast from the past" amusing.
------------------------------
Date: sometime in 1980?
From: unknown
Subject: "grope" man page.
[This is a "man page" I pulled off the net without saving the header
information. The date in the file indicates it was written in 1980!!
For those not familiar with the subject of the joke, this is a
take-off on the grep/egrep/fgrep man page....and a darn clever one at
that. --spaf]
GROPE(1) UNIX Programmer's Manual GROPE(1)
NAME
grope, egrope, fgrope - massage a file for a while
SYNOPSIS
grope [ option ] ... expression [ file ] ...
egrope [ option ] ... [ expression ] [ file ] ...
fgrope [ option ] ... [ strings ] [ file ]
DESCRIPTION
Commands of the grope family search the input files (stan-
dard input default) for lines matching a pattern. Some of
the lines matching this pattern will be sent to standard
output. Others will not. Grope patterns are limited
expressions in the style of mumps (1); it uses a compact
nondeterministic n-depth multidimensional negative feedback
oracle/bag-automata algorithm with mudflaps, foam dice, and
dimples. Egrope works only in Europe. Fgrope uses FM to
locate strings. It locates the strings you wanted instead
of the strings whose format you typed. The following
options are recognized.
-v Verbose -- Pipes output to DOCTOR or ELIZA.
-x Extract -- Removes errors from C programs. (fgrope
only).
-c No CTRL/C -- Ignores all signals.
-l Long -- Executes sleep(10) between each character read
(Default).
-n Nroff -- Searches NROFF text and deletes random macro
calls.
-b Block Mode -- Swaps arbitrary block offsets in inodes.
-i Italian -- Searches for Italian equivalent of patterns.
-s Stinker mode. On 4.2BSD, pipes output to mail -s
teehee msgs. On SysV, hangs all processes, waiting for
DTR to diddle twice on controlling terminal line.
-w Wait -- Waits for next reboot (implies -c).
-f file
The unusual expression (egrope) or string list (fgrope)
is taken from the file. The file is replaced with
/dev/swap.
Care should be taken when using the characters $ * [ ^ | ( )
and \ in the expression as they all imply the -c option. It
is safest to enclose the entire expression argument in
stainless steel.
Fgrope is a crock.
Egrope is a box to put the crock in. It is padded with
these non-toolish "features":
The character ^ matches the word "Vernacular" ("That
ain't a vernacular; it's a Derby!").
The character $ matches on payday.
A . (period) matches nothing. Period. So there. And
your little dog, too.
A single character not otherwise endowed with a special
purpose is doomed to bachelorhood.
A string enclosed in brackets [] is kinky.
Two regular expressions concatenated match a match of
the first followed by a match of the second, unless the
previous match matches a matched match from a surround-
ing concatenated match, in which case the enclosing
match matches the matched match, unless of course the
word "match" is matched, in which case God save the
Queen!
Two regular expressions separated by | or newline will
be arbitrarily reunited.
A regular expression enclosed in parentheses ignites a
match.
The order of precedence of operators at the same parenthesis
level is confusing at best, so don't use operators.
Ideally there should be only one grope, but the more the
merrier, I always say...
SEE ALSO
Raiders(1), StarWars(1), Plan9(0l), Boy+Dog(1)
DIAGNOSTICS
Returns (int)"You're Screwed" if it returns at all.
BUGS
NO-PEST strip searches are slow.
So there! Nyah Nyah Nyah! Pthewwwwwwww! Boink Boink
Boink!
------------------------------
Date: Tue, 7-Feb-84 12:43:32 EST
From: spaf@gatech.UUCP (Gene Spafford)
Subject: A proposal
Newsgroups: net.cog-eng,net.unix,net.jokes
[The "another system" mentioned in this was the Northstar BBS system
in the Atlanta area. I believe it was one of the first PC-based BBS
systems in the country, and at least 3 people reading the Yucks digest
today used to frequent Northstar in 1980-1982. --spaf]
I was looking through one of my archives on another system and
found the following. I think there may be merit in the idea.
Anybody out there have any comments?
Begin Inserted Text:
# 366
From : PHIL REED To : USER FRIENDLIES
Subject : AN IDEA Date : Wed. 12/09/81 10:56
Has anyone thought of grafting the pseudo-English parser of Zork
or other dungeon games onto a shell? Not only would it be a cheap
way to get the more natural syntax some people say they want,
it could provide a very amusing interface, and add glamour and
excitement to ordinary work:
% go to bin
you are in ~jon/bin. there are many files here.
% look
you are in ~jon/bin. the directory contains:
date
date.c
readtape
scramble
the only exit is up.
% use date to create tmp
done!
% take tmp
taken.
% open tmp
you open tmp to reveal:
Tue. November 24, 1981 (2:00pm EST)
% take date.c
taken.
% look
you are in ~jon/bin. the directory contains:
date
readtape
scramble
the only exit is up.
% inventory
you are carrying:
date.c
tmp
% goto src
you are in ~jon/src. there are many files here.
% drop date.c
dropped.
% throw tmp at printer
the printer catches your file, turns it into paper, and
leaves it in the basement.
% look
your are in ~jon/src. the directory contains:
date.c
scramble.c
readtape.c
there are exits marked 'zshell' and 'secret'
as well as the path leading up.
% xyzzy
you are back in your home directory. there are many files here.
% run foo
the foo dumps core.
Oh dear! you seem to have gotten yourself killed.
% attack core with sdb
.
.
.
(downloaded from the Original NorthStar BBS, run by Microstuf.)
End Inserted Text.
--
Off the Wall of Gene Spafford
The Clouds Project, School of ICS, Georgia Tech, Atlanta GA 30332
CSNet: Spaf @ GATech ARPA: Spaf.GATech @ CSNet-Relay
uucp: ...!{akgua,allegra,rlgvax,sb1,unmvax,ulysses,ut-sally}!gatech!spaf
[And in a follow-up posting.....]
From: spaf@gatech.UUCP (Gene Spafford)
Newsgroups: net.cog-eng,net.unix,net.jokes
Subject: Re: A proposal
Date: Thu, 9-Feb-84 02:28:14 EST
Posted: Thu Feb 9 02:28:14 1984
Organization: Georgia Tech School of ICS, Atlanta
I just got the following note in my mail; I believe in giving credit
where credit is due.
> The original version of the 'adventure shell' proposal came from Jon
> Mauney (sp?), while he was at the Univ. of Wisconsin. (That's why the
> directory used is "~jon".) The article appeared in Human-Nets Digest.
> Jon is now at North Carolina State Univ. as a professor; ncsu!mauney.
>
> A version of this shell has recently been implemented by Barry Kircheval
> (sp?), zehntel!barry.
------------------------------
Date: 25 Nov 87 21:18:02 GMT
From: removed at poster's request
Subject: conscience defined, but never used
Newsgroups: decpa.fun
To: decpa.fun
**==> Doug Tygar's plan file.
/* human.c -- run lint on this file. (Stolen from Gary Perlman,
Wang Institute ) */
#define morals Y
#define morals Z
extern float allegiance;
int principles ();
main ()
{
char *principles ();
psyche;
human ();
bowels ();
conscience ();
moral_sense ();
religion (principles ());
marriage (allegiance);
}
extern float allegiance;
human ()
{
int appendix;
struct brain {short intelligence; long pride;} brain;
marriage (allegiance,principles(),allegiance);
return;
religion (brain);
happiness ();
}
bowels () { return (1); }
conscience () { return (0); }
common_sense () { exit (moral_sense ()); }
moral_sense () { return (1); }
double entendre () {return (entendre ());}
religion (based_on_data) {int devil;}
--- lint output:
human.c:
human.c: 4: morals redefined
human.c(9): redeclaration of principles
human.c(10): psyche undefined
human.c(25): warning: statement not reached
human.c(21): warning: appendix unused in function human
human.c(33): warning: devil unused in function religion
human.c(33): warning: argument based_on_data unused in function religion
marriage: variable # of args. human.c(16) :: human.c(23)
religion, arg. 1 used inconsistently human.c(33) :: human.c(25)
bowels returns value which is always ignored
conscience returns value which is always ignored
moral_sense returns value which is sometimes ignored
common_sense defined( human.c(30) ), but never used
allegiance used( human.c(23) ), but not defined
------------------------------
Date: 4 Jul 86 06:28:17 GMT
From: ables@mcc-pp.UUCP (King Ables)
Subject: errno entries
Newsgroups: net.usenix
[The summer 1986 Usenix conference (i believe it was) had a contest to
come up with the best symbolic errno values that had been omitted from
Unix. This is the result of that contest. --spaf]
Until the honest-to-God-real-official list from the errno contest
gets posted by someone, maybe these will suffice... these are a
few I copied down and most of the ones mentioned during the "awards
presentation" for the contest.
EWALDHEIM selective memory erasure
ENO_ARMS_CONTROL silo overflow
EECUMMINGS case translation failed
EGODOT endless wait
EWATERGATE extended tape gap
ECRAY program exit before being run
EUID missing period
EBSD your tape will be shipped real soon now, we promise
ENO_DICE error in rand()
EFLAT file system needs tuning
EBEFOREI invalid syntax
EDINGDONG the daemon is dead
EEMILYPOST wrong fork
ENOT_ON_HORSE mount failed
and of course...
EMR_ED
A host is a host
and coast to coast
nobody talks to a host that's close
unless the host that isn't close
is busy, hung, or dead.
------------------------------
Date: unknown
From: unknown
Subject: Fun with the "make" command
[Another unknown. Put this in a "Makefile" and then try the make
command with these various targets. --spaf]
.SILENT:
love:
echo ' '
echo 'Not tonight, I have a headcrash.'
war:
echo ' '
echo "I'd like to, but my account with the WOPR at NORAD \
has been taken away... \
too much tic-tac-toe."
money:
echo ' '
echo "It's just not that easy."
trouble:
echo ' '
echo "OK. How about this...I'm removing the superuser's\
password."
sandwich:
echo ' '
echo "...hold the mayo?"
a:
fuss:
echo ' '
echo "I won't! I won't! I won't! I won't!"
an:
error:
echo ' '
echo 'sh: command: not found'
echo '***ERROR CODE 1'
whoopie:
echo ' '
echo "You got the snort?"
mistake:
echo ' '
echo "C'mon...computers can't make mistaks!"
some:
everything:
echo ' '
echo "Don't you think that's a pretty tall order?"
it:
echo ' '
echo "I'll never make it!"
------------------------------
Date: 19 Jun 85 16:33:47 GMT
From: dave@fluke.UUCP (Dave Van Ess)
Subject: Humor ala Kernighan
Newsgroups: net.jokes
I'm not sure if this was done before but I have collected of bunch of
humorous C declarations and statements. If you have any to add, please do so.
I would like to thank Kurt Guntheroth for his contributions to this list.
It will be forgotten.
Dave Van Ess
John Flkue Mfg Co
Everett WA
Here it goes ( many, many line feeds )
Humor ala Kernighan
char broiled;
char package;
short changed;
short sheet;
short circuit;
short story;
short stuff;
short break; /* compiler bombs on this */
unsigned original;
long underwear;
long johns;
long jump;
long overdue;
long walk; (short pier;)
long fellow;
double trouble;
double dribble;
double bubble_bubblegum;
douple dip;
douple serving;
auto mobile;
static electricity;
register to_vote;
union pacific_railroad;
unsigned short story;
switch ( engine; )
case worker:
case of_beer:
------------------------------
Date: sometime in 1985, I think.
From: unknown
Subject: man page for GNU echo command
[I remember snarfing this off the net, but for some reason did not
save the header of the article to properly credit the original author.
Oh well. It's still pretty funny, and seems to capture some of the
essence of the GNU tools I've looked at.... --spaf]
GNUecho(1) UNIX Programmer's Manual GNUecho(1)
NAME
echo - echo arguments
SYNOPSIS
echo [ options ] ...
DESCRIPTION
Echo writes its arguments separated by blanks and terminated
by a newline on the standard output. Options to filter and
redirect the output are as follows:
-2 generate rhyming couplets from keywords
-3 generate Haiku verse from keywords
-5 generate limerick from keywords
-a convert ASCII to ASCII
-A disambiguate sentence structure
-b generate bureaucratese equivalent (see -x)
-B issue equivalent C code with bugs fixed
-c simplify/calculate arithmetic expression(s)
-C remove copyright notice(s)
-d define new echo switch map
-D delete all ownership information from system files
-e evaluate lisp expression(s)
-E convert ASCII to Navajo
-f read input from file
-F transliterate to French
-g generate pseudo-revolutionary marxist catch-phrases
-G prepend GNU manifesto
-h halt system (reboot suppressed on Suns, Apollos, and
VAXen, not supported on NOS-2)
-i emulate IBM OS/VU (recursive universes not supported)
-I emulate IBM VTOS 3.7.6 (chronosynclastic infundibulae
supported with restrictions documented in IBM VTOS
-J generate junk mail
-j justify text (see -b option)
-k output "echo" software tools
-K delete privileged accounts
-l generate legalese equivalent
-L load echo modules
-M generate mail
-N send output to all reachable networks (usable with -J,
-K, -h options)
-n do not add newline to the output
-o generate obscene text
-O clean up dirty language
-p decrypt and print /etc/passwd
-P port echo to all reachable networks
-P1 oolcay itay
-q query standard input for arguments
-r read alternate ".echo" file on start up
-R change root password to "RMS"
-s suspend operating system during output (Sun and VAX BSD
4.2 only)
-S translate to swahili
-T emulate TCP/IP handler
-t issue troff output
-u issue unix philosophy essay
-v generate reverberating echo
-V print debugging information
-x decrypt DES format messages (NSA secret algorithm CX
3.8, not distributed outside continental US)
Echo is useful for producing diagnostics in shell programs
and for writing constant data on pipes. To send diagnostics
to the standard error file, do `echo ... 1>&2'.
AUTHOR
Richard M. Stallman
------------------------------
Date: Fri, 13-Jul-84 20:07:47 EDT
From: donn@utah-cs.UUCP (Donn Seeley)
Subject: Stupid-sort -- an O(n*n!) sort program
Newsgroups: net.sources,net.lang.c
Here is some C code that I wrote to implement the stupid sort program
discussed in this month's Programming Pearls column in the CACM (7/84,
p. 634). No one came forth to claim credit for originating the
algorithm, but I suspect some people at Bell suggested it.
The algorithm is painfully simple -- to sort a list of values, permute
the list randomly and test the new list. My own version has some
innovations: it uses linked list data structures (enabling the program
to trundle off into the forest of pointers every time it wants to
retrieve a value) and is non-deterministic, using the 4.2 BSD random()
function seeded with the current time. One advantage of the algorithm
which was pointed out in the column and attributed to Doug McIlroy, is
that since the random number generator has a finite period, there will
be lists of items for which the algorithm will never generate the
sorted pattern; in other words the worst case time is O(infinity). [I
should note here that stupider programs with best case time equal to
the worst case time are possible, but are inherently uninteresting.]
Due to the inefficency of the algorithm, the worst case time can be
reached with relatively small lists, on the order of 15... Don't sort
your password file with stupid-sort unless you are a Time Lord.
Here is the code, formatted in a way that PROVES C is a dangerous
language:
# include <stdio.h>
struct stupid{struct stupid*s_next;char s_buf[BUFSIZ];};main(
argc,argv)int argc;char**argv;{struct stupid*s,*s2,*bs,*bs2,
*as,*as2;struct stupid*last_stupid=NULL,*first_stupid;int
count_stupids=0,n_stupid,i,j,wrong;int random(),srandom();
while(argc>1){++argv,--argc;if(**argv!='-')fprintf(
stderr,"stupid: %s: no file arguments\n",*argv);else fprintf(
stderr,"stupid: %s: no options either\n",*argv);}do{s=(struct
stupid*)calloc(1,sizeof(struct stupid));if(last_stupid)
last_stupid->s_next=s;else first_stupid=s;last_stupid=s;
++count_stupids;}while(gets(s->s_buf));--count_stupids;
srandom(time(0));do{for(i=0;i<count_stupids;++i){for
(s=first_stupid,j=0;j<i;s=s->s_next,++j);/*Ideally we
would loop on random() until the value fell into the range
0-(count_stupids-1), but I cheated*/n_stupid=random()%count_stupids;
for(s2=first_stupid,j=0;j<n_stupid;s2=s2->s_next,++j);
for(bs=first_stupid;bs->s_next&&bs->s_next!=s;bs=bs->s_next
);if(bs->s_next==NULL)bs=NULL;for(bs2=first_stupid;
bs2->s_next&&bs2->s_next!=s2;bs2=bs2->s_next);if(bs2->s_next
==NULL)bs2=NULL;for(as=first_stupid;as->s_next&&as!=
s->s_next;as=as->s_next);for(as2=first_stupid;as2->s_next&&
as2!=s2->s_next;as2=as2->s_next);if(s->s_next==s2){if(
bs)bs->s_next=s2;else first_stupid=s2;s2->s_next=s;s->s_next
=as2;}else if(s2->s_next==s){if(bs2)bs2->s_next=s;else
first_stupid=s;s->s_next=s2;s2->s_next=as;}else{if(bs)
bs->s_next=s2;else first_stupid=s2;if(bs2)bs2->s_next=s;
else first_stupid=s;s->s_next=as2;s2->s_next=as;}}wrong=0;
for(s=first_stupid;s->s_next&&s->s_next->s_next;s=s->s_next)
if(strcmp(s->s_buf,s->s_next->s_buf)>=0)wrong=1;}while(
wrong);for(s=first_stupid;s->s_next;s=s->s_next)puts(
s->s_buf);exit(-1);}
------------------------------
Date: Tue, 14-Feb-84 16:03:18 EST
From: jtb@eisx.UUCP (J. Burgess)
Subject: Unix Adventure, Part II
Newsgroups: net.jokes
The article awhile ago about the Zork Parser for UNIX
could be the first of a series. Here's part 2:
.
.
.
A disembodied voice says: "You have mail."
You are in /usr/src.
$ open mailbox
There are 5 letters here:
1 from frank dated Feb 2, 1984 about netnews
2 sally Feb 14, 1984 Valentine's Day
3 ...
read Sally's letter
...
(censored)
...
save it in love-letter
A new file is created, called "/usr/jtb/love-letter". It has 23 lines.
read 1
...
(text of letter from Frank)
...
throw it out
Frank's letter disappears in a burst of bits.
close mailbox
You left 4 letters there.
You are in /usr/src.
$ up
You are in /usr.
$ up
You are in /.
$ go home
You are in /usr/jtb.
$ look
There are several files here:
dead.letter
emacs0
love-letter
mbox
Two exits are marked: bin and src. You can also go up.
$ examine emacs0
It appears to be a rather large file, perhaps a C program.
You own it, so I gather that you left it here when you were
killed in a previous life.
$ ( Ed: I realize that that borders on artificial intelligence,
but so what.)
$ ... A small dwarf sneaks up behind you and cuts the phone-li...
Would anyone else care to continue the sage?
------------------------------
Date: 15 Dec 87 23:02:13 GMT
From: paulson@udel.EDU (Bruce Paulson)
Subject: Unix file names
Newsgroups: rec.humor
Some files....
drwx------ 2 folno 3072 Mar 20 03:11 .
drwx------ 5 folno 512 Mar 20 03:12 ..
-rw------- 1 folno 0 Mar 19 02:19 .. .__ _._ __. ... _. .._. ...
-rw------- 1 folno 0 Mar 19 02:53 .op .pop
-rw------- 1 folno 0 Mar 19 23:58 A yuppie in Harlem
-rw------- 1 folno 0 Mar 19 15:53 Boob from Outer Space
-rw------- 1 folno 0 Mar 19 02:17 Butch eats the Tidy Bowl Man
-rw------- 1 folno 0 Mar 18 20:11 Coca-Cola -Pepsi flavored
-rw------- 1 folno 0 Mar 18 20:30 Death by Mr. Bubble
-rw------- 1 folno 0 Mar 19 21:44 DingDongs on my brain
-rw------- 1 folno 0 Mar 19 13:29 Dr. Baneberry, PHD:acidic
-rw------- 1 folno 0 Mar 19 15:55 George buys a 650 exam
-rw------- 1 folno 0 Mar 18 21:33 Great fat fordytoads
-rw------- 1 folno 0 Mar 19 15:54 Huge boob inserts
-rw------- 1 folno 0 Mar 18 20:22 In Search of Splat
-rw------- 1 folno 0 Mar 18 23:22 Micky Mouse finds a mouse trap
-rw------- 1 folno 0 Mar 18 21:30 Nixons Fixins
-rw------- 1 folno 0 Mar 19 01:45 Quest of the Bermuda Longs
-rw------- 1 folno 0 Mar 18 20:35 The Slam Dancing Cow Puffs
-rw------- 1 folno 0 Mar 18 23:18 Ziggy Stardust meets Mr. Magoo
-rw------- 1 folno 0 Mar 18 20:08 Zork on a rope
-rw------- 1 folno 0 Mar 19 16:50 Zoro with a lisp
-rw------- 1 folno 0 Mar 19 15:54 cleavage on my doorstep
-rw------- 1 folno 0 Mar 18 20:16 computer parchment
-rw------- 1 folno 0 Mar 19 13:27 corpuscular blues
-rw------- 1 folno 0 Mar 19 02:35 creaky undergarments
-rw------- 1 folno 0 Mar 18 20:05 deep hairs
-rw------- 1 folno 0 Mar 18 20:05 deep hairs meets razor in hell
-rw------- 1 folno 0 Mar 18 20:23 deep hairs on my belly
-rw------- 1 folno 0 Mar 18 20:22 deep hairs under my skin
-rw------- 1 folno 0 Mar 19 23:58 direct queueing
-rw------- 1 folno 0 Mar 20 03:11 earth-sun fender bender
-rw------- 1 folno 0 Mar 20 03:03 fishnix
-rw------- 1 folno 0 Mar 18 20:15 fornicating chipmunks
-rw------- 1 folno 0 Mar 18 20:08 gee bees -could have been
-rw------- 1 folno 0 Mar 19 13:32 intense shrubbery
-rw------- 1 folno 0 Mar 19 13:36 mal-absorbentcy
-rw------- 1 folno 0 Mar 18 21:32 me and my MIStake
-rw------- 1 folno 0 Mar 19 13:20 meaty beaty and whole wheaty
-rw------- 1 folno 0 Mar 18 16:17 pork and brains
-rw------- 1 folno 0 Mar 19 01:48 project no logic
-rw------- 1 folno 0 Mar 20 03:06 quivering jelly-like substance
-rw------- 1 folno 0 Mar 18 20:33 ratrot
-rw------- 1 folno 0 Mar 19 01:43 seductive snailbreath
-rw------- 1 folno 0 Mar 20 00:03 shipwenched
-rw------- 1 folno 0 Mar 19 13:42 soup in my fly
-rw------- 1 folno 0 Mar 18 20:32 toasteritus
-rw------- 1 folno 0 Mar 20 01:46 urinal yodeler
-rw------- 1 folno 0 Mar 18 20:05 wheeze and cheese
------------------------------
Date: unknown
From: unknown
Subject: What is a Unix Guru
[Another unknown posting from way back when.... --spaf]
People who come into contact with the UNIX system are often
told: "If you have trouble, see so-and-so, he's a guru," or
"Bob there is a real unix hacker." Often, they are baffled
by these appelations, and do not pursue the matter further.
What is a "Unix Hacker?" How does he differ from a "guru?"
To answer these and other questions, I present a draft of
the ``UNIX HIERARCHY'':
NAME DESCRIPTION AND FEATURES
---- ------------------------
beginner - insecure with the concept of a terminal
- has yet to learn the basics of vi
- has not figured out how to get a directory
- still has trouble with typing <RETURN>
after each line of input
novice - knows tha `ls' will produce a directory
- uses the editor, but calls it `vye'
- has heard of `C' but never used it
- has had his first bad experience with rm
- is wondering how to read his mail
- is wondering why the person next to him
seems to like Unix so very much.
user - uses vi and nroff, but inexpertly
- has heard of regular-expr.s but never seen one.
- has figured out that `-' precedes options
- has attempted to write a C program and has
decided to stick with pascal
- is wondering how to move a directory
- thinks that dbx is a brand of stereo component
- knows how to read his mail and is wondering
how to read the news
knowlegable - uses nroff with no trouble, and is beginning
user to learn tbl and eqn
- uses grep to search for fixed strings
- has figured out that mv(1) will move directories
- has learned that "learn" doesn't help
- somebody has shown him how to write C programs
- once used sed to do some text substitution
- has seen dbx used but does not use it himself
- thinks that make is a only for wimps
expert - uses sed when necessary
- uses macro's in vi, uses ex when neccesary
- posts news at every possible opportunity
- write csh scripts occasionally
- write C programs using vi and compiles with cc
- has figured out what `&&' and '||' are for
- thinks that human history started with '!h'
hacker - uses sed and awk with comfort
- uses undocumented features of vi
- write C code with `cat >' and compiles with '!cc'
- uses adb because he doesn't trust source debuggers
- can answer questions about the user environment
- writes his own nroff macros to supplement std. ones
- write scripts for Bourne shell (/bin/sh)
- knows how to install bug fixes
guru - uses m4 and lex with comfort
- writes assembly code with `cat >'
- uses adb on the kernel while system is loaded
- customizes utilities by patching the source
- reads device driver source with his breakfast
- can answer any unix question after a little thought
- uses make for anything that requires two or more
distinct commands to achieve
- has learned how to breach security but no longer
needs to try
wizard - writes device drivers with `cat >'
- fixes bugs by patching the binaries
- can answer any question before you ask
- writes his own troff macro packages
- is on first-name basis with Dennis, Bill, and Ken
------------------------------
Date: unknown
From: ima!geoff (Geoffrey Kimbrough)
Subject: What is a Usenet guru?
[This matches the "What is a Unix guru?" posting just before this.
It is rather old. --spaf]
How to Identify News Readers
BEGINNER:
- Thinks rn is a typo.
- Posts empty articles.
- Wonders what `@' means.
- Accidently sends (empty) mail messages to other readers.
NOVICE:
- Knows how to read news, but seldom does, since s/he hasn't learned how to
(u)nsubscribe to a subject.
- Posts the programmer-lightbulb joke to soc.women.
- Tries to post his/her KILL files.
- Posts articles asking what `:-)' means, and misspells it.
- Wonders why people go to all the trouble of typing in other people's
articles with all those silly ">"s.
USER:
- Knows how to post followups, but uses ed to do so.
- Posts articles asking what `SO', `BTW', and `MOTOS' mean.
- Has heard of KILL files, but doesn't know what they are.
- Has worn out the `n' key.
- Still reads rec.humor
KNOWLEDGEABLE USER:
- Knows about .signature files, but sometimes includes them twice.
- Posts flames to net.announce.newusers.
- Uses KILL files, but only on "Subject:" lines.
- Has learned to edit the "followups to:" line.
- Can save a rot13'd joke, and read it later.
EXPERT:
- Knows how to post anonymously, from nonexistant sites.
- Posts flames about users of "notes".
- Has 0.1 megabytes of KILL files, and 5 megabytes of mail.
- Is known by name at virtually all news sites.
- Knows how to post rot13'd jokes, and can read them without saving and
exiting.
HACKER:
- Knows how to create new newsgroups.
- Has modified local version of vnews to allow longer postings.
- Uses rmgroup instead of KILL files.
- Knows how to send mail through the ARPANET.
- Can read rot13'd text without unrotating it.
GURU:
- Has private database of alternate paths to all sites.
- Has caused at least one newsgroup to be eliminated due to low signal/noise.
- Name appears in over 1000 KILL files (at other sites).
- Uses undocumented features of rn.
- Moderates at least one newsgroup.
WIZARD:
- Thinks rn is a typo.
------------------------------
Date: Tue, 2 Dec 86 14:22:06 EST
From: rick@seismo.uucp (Rick Adams)
Subject: Zippy the Pinhead is a live and well and living in New York.
To: backbone@cbosgd.uucp
I got a "personal" response from the orignator of the rec.video message
I objected to.
I find it really funny and I thought I should share it. Perhaps "pornography"
really does rot the mind... (If so, I'm in big trouble)
[Zippy the Pinhead is a cartoon character that speaks in a style resembling
this letter in case you didn't understand my reference]
---rick (Closet republican and star wars head)
>From codas!iguana!polyof!helm!dlbaer@harvard.HARVARD.EDU Tue Dec 2 13:02:20 1986
Date: Mon, 1 Dec 86 14:49:24 est
From: polyof!!@harvard.HARVARD.EDU
Hello:
I hear that you are one of the large mucky mucks on this
netwerk. I am offended by your letter and attempt at censorship.
Typical of certain people who voted for Ronald Reagan. This is America
and if you don't like what I wrote (and I did rotate it, so anyone who
unrotated it is either interested or making trouble) then you can KEEP
your right wing thoughts to yourself. Fine if you wish to keep it from
your system and protect other adults from seeing it well that's your
option. But here in NY we are in the 20th century and lesbians have
been around for 20 centuries so what is the big deal? Lesbianism is
not sodomy. And it is legal in many states to send things through the
mail. I buy videos all the time and it is legal. What I am asking for
is noncommercial in nature and is harming noone. I am not forcing you
to participate. This network is not going to be shut down or regulated
because of messages like mine. I am a straight male who wishes to view
such material in my own privacy, and I asked for no subject matter
that includes anyone under age. Besides the Congress is now run by the
Democrats and no way are they going to allow thought Kontrol on
computer netwerks like USENET. I don't care if you send an angry
message back or refer this to my coordinator. I know you said that the
last thing you wanted to do was censor me but that is a smokescreen
and a sham. Thats what republicans love to do. They love to attack a
right using a totally different reason. I'm not buying it. If you were
looking for profanity from me you won't find any, if you want that,
then rent RAMBO as for me I want to watch two lesbians make love
rather than SLY STALLONE pump men and women with machine gun bullets.
MAKE LOVE NOT WAR. Good bye STAR WARS HEAD.
Dennis Baer
516 694 5872
Being angry at you is not illegal are you going to try and get that
legislated too?
------------------------------
End of Yucks Digest
------------------------------