The Jargon File


The Jargon File
Introduction
How Jargon Works
How to Use the Lexicon

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [^a-zA-Z]

Appendix A --- Appendix B --- Appendix C

Ob-

 /ob/ pref.  Obligatory.  A piece of netiquette
   acknowledging that the author has been straying from the
   newsgroup's charter topic.  For example, if a posting in alt.sex is
   a response to a part of someone else's posting that has nothing
   particularly to do with sex, the author may append `ObSex' (or
   `Obsex') and toss off a question or vignette about some unusual
   erotic act.  It is considered a sign of great winnitude when
   one's Obs are more interesting than other people's whole postings.

Obfuscated C Contest

 n.  (in full, the `International
   Obfuscated C Code Contest', or IOCCC) An annual contest run since
   1984 over Usenet by Landon Curt Noll and friends.  The overall
   winner is whoever produces the most unreadable, creative, and
   bizarre (but working) C program; various other prizes are awarded
   at the judges' whim.  C's terse syntax and macro-preprocessor
   facilities give contestants a lot of maneuvering room.  The winning
   programs often manage to be simultaneously (a) funny, (b)
   breathtaking works of art, and (c) horrible examples of how
   *not* to code in C.

   This relatively short and sweet entry might help convey the flavor
   of obfuscated C:

     /*
      * HELLO WORLD program
      * by Jack Applin and Robert Heckendorn, 1985
      */
     main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
     (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
     **c=!c)write(!!*c,*c,!!**c);}

   Here's another good one:

     /*
      * Program to compute an approximation of pi
      *  by Brian Westley, 1988
      */

     #define _ -F<00||--F-OO--;
     int F=00,OO=00;
     main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
     {
                 _-_-_-_
            _-_-_-_-_-_-_-_-_
         _-_-_-_-_-_-_-_-_-_-_-_
       _-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
       _-_-_-_-_-_-_-_-_-_-_-_-_-_
         _-_-_-_-_-_-_-_-_-_-_-_
             _-_-_-_-_-_-_-_
                 _-_-_-_
     }
   Note that this program works by computing its own area.  For more
   digits, write a bigger program.  See also hello,_world.

obi-wan error

 /oh'bee-won` er'*r/ n.  [RPI, from
   `off-by-one' and the Obi-Wan Kenobi character in "Star
   Wars"] A loop of some sort in which the index is off by 1.  Common
   when the index should have started from 0 but instead started from
   1.  A kind of off-by-one_error.  See also zeroth.

Objectionable-C

 n.  Hackish take on "Objective-C", the
   name of an object-oriented dialect of C in competition with the
   better-known C++ (it is used to write native applications on the
   NeXT machine).  Objectionable-C uses a Smalltalk-like syntax, but
   lacks the flexibility of Smalltalk method calls, and (like many
   such efforts) comes frustratingly close to attaining the Right_Thing
    without actually doing so.

obscure

 adj.  Used in an exaggeration of its normal meaning,
   to imply total incomprehensibility.  "The reason for that last
   crash is obscure."  "The `find(1)' command's syntax is
   obscure!"  The phrase `moderately obscure' implies that
   something could be figured out but probably isn't worth the
   trouble.  The construction `obscure in the extreme' is the
   preferred emphatic form.

octal forty

 /ok'tl for'tee/ n.  Hackish way of saying
   "I'm drawing a blank."  Octal 40 is the ASCII space
   character, 0100000; by an odd coincidence, hex 40 (01000000)
   is the EBCDIC space character.  See wall.

off the trolley

 adj.  Describes the behavior of a program
   that malfunctions and goes catatonic, but doesn't actually
   crash or abort.  See glitch, bug, deep_space.

off-by-one error

 n.  Exceedingly common error induced in
   many ways, such as by starting at 0 when you should have started at
   1 or vice-versa, or by writing `< N' instead of `<= N' or
   vice-versa.  Also applied to giving something to the person next to
   the one who should have gotten it.  Often confounded with
   fencepost_error, which is properly a particular subtype of it.

offline

 adv.  Not now or not here.  "Let's take this
   discussion offline."  Specifically used on Usenet to suggest
   that a discussion be moved off a public newsgroup to email.

ogg

 /og/ v.  [CMU] 1. In the multi-player space combat
   game Netrek, to execute kamikaze attacks against enemy ships which
   are carrying armies or occupying strategic positions.  Named during
   a game in which one of the players repeatedly used the tactic while
   playing Orion ship G, showing up in the player list as "Og".
   This trick has been roundly denounced by those who would return to
   the good old days when the tactic of dogfighting was dominant, but
   as Sun Tzu wrote, "What is of supreme importance in war is to
   attack the enemy's strategy."  However, the traditional answer to
   the newbie question "What does ogg mean?" is just "Pick up some
   armies and I'll show you."  2. In other games, to forcefully
   attack an opponent with the expectation that the resources expended
   will be renewed faster than the opponent will be able to regain his
   previous advantage.  Taken more seriously as a tactic since it has
   gained a simple name.  3. To do anything forcefully, possibly
   without consideration of the drain on future resources.  "I guess
   I'd better go ogg the problem set that's due tomorrow."  "Whoops!
   I looked down at the map for a sec and almost ogged that oncoming
   car."

old fart

 n.  Tribal elder.  A title self-assumed with
   remarkable frequency by (esp.) Usenetters who have been
   programming for more than about 25 years; often appears in sig_block
   s attached to Jargon File contributions of great
   archeological significance.  This is a term of insult in the second
   or third person but one of pride in first person.

Old Testament

 n.  [C programmers] The first edition of
   K&R, the sacred text describing Classic_C.

one-banana problem

 n.  At mainframe shops, where the
   computers have operators for routine administrivia, the programmers
   and hardware people tend to look down on the operators and claim
   that a trained monkey could do their job.  It is frequently
   observed that the incentives that would be offered said monkeys can
   be used as a scale to describe the difficulty of a task.  A
   one-banana problem is simple; hence, "It's only a one-banana job
   at the most; what's taking them so long?"

   At IBM, folklore divides the world into one-, two-, and
   three-banana problems.  Other cultures have different hierarchies
   and may divide them more finely; at ICL, for example, five grapes
   (a bunch) equals a banana.  Their upper limit for the in-house
   sysapes is said to be two bananas and three grapes (another
   source claims it's three bananas and one grape, but observes
   "However, this is subject to local variations, cosmic rays and
   ISO").  At a complication level any higher than that, one asks the
   manufacturers to send someone around to check things.

   See also Infinite-Monkey_Theorem.

one-line fix

 n.  Used (often sarcastically) of a change to a
   program that is thought to be trivial or insignificant right up to
   the moment it crashes the system.  Usually `cured' by another
   one-line fix.  See also I_didn't_change_anything!

one-liner wars

 n.  A game popular among hackers who code in
   the language APL (see write-only_language and line_noise
   ).  The objective is to see who can code the most interesting
   and/or useful routine in one line of operators chosen from APL's
   exceedingly hairy primitive set.  A similar amusement was
   practiced among TECO hackers and is now popular among
   Perl aficionados.
   
   Ken Iverson, the inventor of APL, has been credited with a
   one-liner that, given a number N, produces a list of the
   prime numbers from 1 to N inclusive.  It looks like this:

        (2 = 0 +.= T o.| T) / T <- iN

   where `o' is the APL null character, the assignment arrow is a
   single character, and `i' represents the APL iota.

ooblick

 /oo'blik/ n.  [from the Dr. Seuss title
   "Bartholomew and the Oobleck"] A bizarre semi-liquid sludge
   made from cornstarch and water.  Enjoyed among hackers who make
   batches during playtime at parties for its amusing and extremely
   non-Newtonian behavior; it pours and splatters, but resists rapid
   motion like a solid and will even crack when hit by a hammer.
   Often found near lasers.

   Here is a field-tested ooblick recipe contributed by GLS:

     1 cup cornstarch
     1 cup baking soda
     3/4 cup water
     N drops of food coloring

   This recipe isn't quite as non-Newtonian as a pure cornstarch
   ooblick, but has an appropriately slimy feel.

   Some, however, insist that the notion of an ooblick *recipe*
   is far too mechanical, and that it is best to add the water in
   small increments so that the various mixed states the cornstarch
   goes through as it *becomes* ooblick can be grokked in
   fullness by many hands.  For optional ingredients of this
   experience, see the "Ceremonial_Chemicals" section of
   Appendix B.

op

 /op/ n.  1. In England and Ireland, common verbal
   abbreviation for `operator', as in system operator.  Less common in
   the U.S., where sysop seems to be preferred.  2. [IRC] Someone
   who is endowed with privileges on IRC, not limited to a
   particular channel.  These are generally people who are in charge
   of the IRC server at their particular site.  Sometimes used
   interchangeably with CHOP.  Compare sysop.

open

 n.  Abbreviation for `open (or left) parenthesis' ---
   used when necessary to eliminate oral ambiguity.  To read aloud the
   LISP form (DEFUN FOO (X) (PLUS X 1)) one might say: "Open defun
   foo, open eks close, open, plus eks one, close close."

Open DeathTrap

 n.  Abusive hackerism for the Santa Cruz
   Operation's `Open DeskTop' product, a Motif-based graphical
   interface over their UNIX.  The funniest part is that this was
   coined by SCO's own developers.... Compare AIDX,
   Macintrash Nominal_Semidestructor, ScumOS,
   sun-stools, HP-SUX.

open switch

 n.  [IBM: prob. from railroading] An
   unresolved question, issue, or problem.

operating system

: n.  [techspeak] (Often abbreviated `OS')
   The foundation software of a machine, of course; that which
   schedules tasks, allocates storage, and presents a default
   interface to the user between applications.  The facilities an
   operating system provides and its general design philosophy exert
   an extremely strong influence on programming style and on the
   technical cultures that grow up around its host machines.  Hacker
   folklore has been shaped primarily by the UNIX, ITS,
   TOPS-10, TOPS-20/TWENEX, WAITS, CP/M,
   MS-DOS, and Multics operating systems (most importantly
   by ITS and UNIX).

optical diff

 n.  See vdiff.

optical grep

 n.  See vgrep.

optimism

 n.  What a programmer is full of after fixing the
   last bug and before discovering the *next* last bug.  Fred
   Brooks's book "The Mythical Man-Month" (See "Brooks's
   Law") contains the following paragraph that describes this
   extremely well:

     All programmers are optimists.  Perhaps this modern sorcery
     especially attracts those who believe in happy endings and fairy
     godmothers.  Perhaps the hundreds of nitty frustrations drive
     away all but those who habitually focus on the end goal.  Perhaps
     it is merely that computers are young, programmers are younger,
     and the young are always optimists.  But however the selection
     process works, the result is indisputable: "This time it will
     surely run," or "I just found the last bug.".

   See also Lubarsky's_Law_of_Cybernetic_Entomology.

Orange Book

 n.  The U.S. Government's standards document
   "Trusted Computer System Evaluation Criteria, DOD standard
   5200.28-STD, December, 1985" which characterize secure computing
   architectures and defines levels A1 (most secure) through D
   (least).  Stock UNIXes are roughly C1, and can be upgraded to about
   C2 without excessive pain.  See also crayola_books, book_titles
   .

oriental food

: n.  Hackers display an intense tropism
   towards oriental cuisine, especially Chinese, and especially of the
   spicier varieties such as Szechuan and Hunan.  This phenomenon
   (which has also been observed in subcultures that overlap heavily
   with hackerdom, most notably science-fiction fandom) has never been
   satisfactorily explained, but is sufficiently intense that one can
   assume the target of a hackish dinner expedition to be the best
   local Chinese place and be right at least three times out of four.
   See also ravs, great-wall, stir-fried_random,
   laser_chicken, Yu-Shiang_Whole_Fish.  Thai, Indian,
   Korean, and Vietnamese cuisines are also quite popular.

orphan

 n.  [UNIX] A process whose parent has died; one
   inherited by `init(1)'.  Compare zombie.

orphaned i-node

 /or'f*nd i:'nohd/ n.  [UNIX]
   1. [techspeak] A file that retains storage but no longer appears in
   the directories of a filesystem.  2. By extension, a pejorative for
   any person no longer serving a useful function within some
   organization, esp. lion_food without subordinates.

orthogonal

 adj.  [from mathematics] Mutually independent;
   well separated; sometimes, irrelevant to.  Used in a generalization
   of its mathematical meaning to describe sets of primitives or
   capabilities that, like a vector basis in geometry, span the entire
   `capability space' of the system and are in some sense
   non-overlapping or mutually independent.  For example, in
   architectures such as the PDP-11 or VAX where all or nearly all
   registers can be used interchangeably in any role with respect to
   any instruction, the register set is said to be orthogonal.  Or, in
   logic, the set of operators `not' and `or' is orthogonal, but
   the set `nand', `or', and `not' is not (because any one of
   these can be expressed in terms of the others).  Also used in
   comments on human discourse: "This may be orthogonal to the
   discussion, but...."

OS

 /O-S/  1. [Operating System] n. An abbreviation heavily
   used in email, occasionally in speech.  2. n.,obs. On ITS, an
   output spy.  See "OS_and_JEDGAR" in Appendix A.

OS/2

 /O S too/ n.  The anointed successor to MS-DOS for
   Intel 286- and 386-based micros; proof that IBM/Microsoft couldn't
   get it right the second time, either.  Often called `Half-an-OS'.
   Mentioning it is usually good for a cheap laugh among hackers ---
   the design was so baroque, and the implementation of 1.x so
   bad, that 3 years after introduction you could still count the
   major apps shipping for it on the fingers of two hands -- in
   unary.  The 2.x versions are said to have improved somewhat, and
   informed hackers now rate them superior to Microsoft Windows (an
   endorsement which, however, could easily be construed as damning
   with faint praise).  See monstrosity, cretinous,
   second-system_effect.

OSU

 /O-S-U/ n.,obs.  [TMRC] Acronym for Officially
   Sanctioned User; a user who is recognized as such by the computer
   authorities and allowed to use the computer above the objections of
   the security monitor.

OTOH

  [USENET] On The Other Hand.

out-of-band

 adj.  [from telecommunications and network
   theory] 1. In software, describes values of a function which are
   not in its `natural' range of return values, but are rather
   signals that some kind of exception has occurred.  Many C
   functions, for example, return a nonnegative integral value, but
   indicate failure with an out-of-band return value of -1.
   Compare hidden_flag, green_bytes, fence.  2. Also
   sometimes used to describe what communications people call
   `shift characters', such as the ESC that leads control sequences
   for many terminals, or the level shift indicators in the old 5-bit
   Baudot codes.  3. In personal communication, using methods other
   than email, such as telephones or snail-mail.

overflow bit

 n.  1. [techspeak] A flag on some
   processors indicating an attempt to calculate a result too large
   for a register to hold.  2. More generally, an indication of any
   kind of capacity overload condition.  "Well, the Ada
   description was baroque all right, but I could hack it OK
   until they got to the exception handling ... that set my
   overflow bit."  3. The hypothetical bit that will be set if a
   hacker doesn't get to make a trip to the Room of Porcelain
   Fixtures: "I'd better process an internal interrupt before the
   overflow bit gets set".

overflow pdl

 n.  [MIT] The place where you put things when
   your pdl is full.  If you don't have one and too many things
   get pushed, you forget something.  The overflow pdl for a person's
   memory might be a memo pad.  This usage inspired the following
   doggerel:

     Hey, diddle, diddle
     The overflow pdl
        To get a little more stack;
     If that's not enough
     Then you lose it all,
        And have to pop all the way back.
                                    --The Great Quux

   The term pdl seems to be primarily an MITism; outside MIT this
   term is replaced by `overflow stack'.

overrun

 n.  1. [techspeak] Term for a frequent consequence
   of data arriving faster than it can be consumed, esp. in serial
   line communications.  For example, at 9600 baud there is almost
   exactly one character per millisecond, so if a silo can hold
   only two characters and the machine takes longer than 2 msec to get
   to service the interrupt, at least one character will be lost.
   2. Also applied to non-serial-I/O communications.  "I forgot to
   pay my electric bill due to mail overrun."  "Sorry, I got four
   phone calls in 3 minutes last night and lost your message to
   overrun."  When thrashing at tasks, the next person to make a
   request might be told "Overrun!"  Compare firehose_syndrome.
   3. More loosely, may refer to a buffer_overflow not
   necessarily related to processing time (as in overrun_screw).

overrun screw

 n.  [C programming] A variety of fandango_on_core
    produced by scribbling past the end of an array (C
   implementations typically have no checks for this error).  This is
   relatively benign and easy to spot if the array is static; if it is
   auto, the result may be to smash_the_stack -- often resulting
   in heisenbugs of the most diabolical subtlety.  The term
   `overrun screw' is used esp. of scribbles beyond the end of
   arrays allocated with `malloc(3)'; this typically trashes the
   allocation header for the next block in the arena, producing
   massive lossage within malloc and often a core dump on the next
   operation to use `stdio(3)' or `malloc(3)' itself.  See
   spam, overrun; see also memory_leak, memory_smash
   , aliasing_bug, precedence_lossage, fandango_on_core
   , secondary_damage.


The Jargon File
Introduction
How Jargon Works
How to Use the Lexicon

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [^a-zA-Z]

Appendix A --- Appendix B --- Appendix C