« What is your IQ? | Main | Famous last words »
October 27, 2005
Unix Expertise
People often ask why "guru" in my handle. Does it mean that I meditate up a high mountain? Well, I found the perfect explanation in a ranking system for Unix people. Some of the concepts are a bit dated but I can proudly claim to meet all the criteria for Guru - but not all the criteria for Wizard...
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 appellations, 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, here is the UNIX HIERARCHY :
- 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
- use 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
- had heard of regular-expr's but never seen one
- uses egrep to search for fixed strings
- has figured out that '-' precedes options
- is wondering how to move a directory
- has attempted to write C program and has decided to stick with pascal
- thinks that sdb is a brand of stereo component
- knows how to read his mail and is wondering how to read the news
- knowledgeable user
- uses nroff with no trouble, and is beginning to learn tbl and eqn
- thinks that fgrep is fast grep
- has figured out that mv 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 sdb used but does not use it himself
- thinks that make is only for wimps
- expert
- uses sed when necessary
- uses macro's in vi, uses ex when necessary
- posts news at every possible opportunity
- writes csh scripts occasionally
- writes 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
- writes 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 standard ones
- writes scripts for Bourne shell (/bin/sh)
- 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 archive
- 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 ask
- writes his own troff macro packages
- is on first-name basis with Dennis, Bill and Ken
Posted by Ozguru at October 27, 2005 06:00 AM
Comments
Okay. I got everything except: What is UNIX?
(Don't try.)
Posted by: old horsetail snake at October 27, 2005 09:53 AM
Well, I'm ashamed to say that I am but an expert. I'm a little disappointed. I also am leaning toward knowledgable user, as I do not use vi macros. But maybe I'm a user, I have no experience with nroff.
I don't think I want to be able to patch live binaries. Really, in a dynamically linked world? Are there really sickos out there who want to do something like that? I guess it's not much worse than trying to do something less than obvious with sh.
Unix is a bottomless pit, a world of pain.
But it's still better than trying to do something useful in Visual C++ or VB on Windows.
Then there's Java. The authentication stuff is like slamming your hand in a door on purpose. Why do I have to know every detail of constructors just to get a keypress? AAGGH!
Apparently being able to write Perl that can mung a thousand IOS switches and make them dance your tune doesn't count for anything? Damn Unix snobs.
Where's my copy of 'The Unix Hater's Handbook'?
Posted by: linc at October 27, 2005 02:16 PM
I think I'd be a knowledgeable user... :)
Posted by: kazza at October 29, 2005 09:40 AM