[net.unix] What is a Unix Wizard?

gnu@hoptoad.uucp (John Gilmore) (10/03/86)

[I ran across these on a Unix salesman's wall and haven't seen them posted
 before.  I modified them here and there.  Followups are in net.jokes.]

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."

What is a "Unix Wizard"?  How does s/he differ from a "guru"?

To explore these and other questions, here is 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 that "ls" will produce a directory
		- uses the editor, but calls it "vye"
		- has heard of "C" but never used it
		- has had a bad experience with rm
		- is wondering how to read mail
		- is wondering why the person next door
		  seems to like Unix so very much

user		- uses vi and nroff, but inexpertly
		- has heard of regular expressions but never seen one.
		- has figured out that '-' precedes options
		- has attempted to write a C program but 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 mail and is wondering how
		  to read the news

knowledgeable	- 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 her how to write C programs
		- once used sed but checked the file afterward
		- watched somebody use dbx once
		- tried "make" but used spaces instead of tabs

expert		- uses sed when necessary
		- uses macros in vi, uses ex when necessary
		- posts news at every possible opportunity
		- is still wondering how to successfully reply to mail
		- writes csh scripts occasionally
		- writes C programs using vi and compiles with make
		- has figured out what && and || are for
		- uses fgrep because somebody said it was faster

hacker		- uses sed and awk with comfort
		- uses undocumented features of vi
		- writes C code with "cat >" and compiles with "!cc"
		- uses adb because she doesn't trust source debuggers
		- figured out how environment variables are propagated
		- writes her own nroff macros to supplement the standard
		  ones
		- writes Bourne shell scripts
		- installs bug fixes from the net
		- uses egrep because she timed it

guru		- uses m4 and lex with comfort
		- writes assembler code with "cat >"
		- uses adb on the kernel while the system is loaded
		- customizes Unix utilities by patching the source
		- reads device driver source with breakfast
		- uses "ed" because "ex" is a Berkeleyism
		- can answer any unix question after a little thought
		- uses make for anything that requires two or more commands
		- has learned how to breach security but no longer
		  needs to try
		- is putting James Woods/Henry Spencer egrep into her
		  next Unix release

wizard		- writes device drivers with "cat >"
		- fixes bugs by patching the binaries
		- posts her changes to Unix utilities to the net --
		  and they work
		- can tell what question you are about to ask, and answer it
		- writes her own troff macro packages
		- is on a first-name basis with Dennis, Bill, and Ken

-- 
John Gilmore  {sun,ptsfa,lll-crg,ihnp4}!hoptoad!gnu   jgilmore@lll-crg.arpa
		     May the Source be with you!