May 15, 2003

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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 * (Note: depends on being able to modify elements of argv[], * which is not guaranteed by ANSI and often not possible.) */ 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 * (requires pcc macro concatenation; try gcc -traditional-cpp) */ #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.

The IOCCC has an official home page at http://www.ioccc.org/.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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

2. A kind of off-by-one error. See also zeroth.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 obscure

adj.

Used in an exaggeration of its normal meaning, to imply total incomprehensibility. The reason for that last crash is obscure. The find1 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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, wedged.

This term is much older than computing, and is (uncommon) slang elsewhere. A trolley is the small wheel that trolls, or runs against, the heavy wire that carries the current to run a streetcar. It's at the end of the long pole (the trolley pole) that reaches from the roof of the streetcar to the overhead line. When the trolley stops making contact with the wire (from passing through a switch, going over bumpy track, or whatever), the streetcar comes to a halt, (usually) without crashing. The streetcar is then said to be off the trolley, or off the wire. Later on, trolley came to mean the streetcar itself. Since streetcars became common in the 1890s, the term is more than 100 years old. Nowadays, trolleys are only seen on historic streetcars, since modern streetcars use pantographs to contact the wire.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 off-by-one error

n.

[common] 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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, not his tactics. 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

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

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 Old Testament

n.

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

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 on the gripping hand

In the progression that starts On the one hand... and continues On the other hand... mainstream English may add on the third hand... even though most people don't have three hands. Among hackers, it is just as likely to be on the gripping hand. This metaphor supplied the title of Larry Niven & Jerry Pournelle's 1993 SF novel The Gripping Hand which involved a species of hostile aliens with three arms (the same species, in fact, referenced in juggling eggs). As with TANSTAAFL and con, this usage became one of the naturalized imports from SF fandom frequently observed among hackers.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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!

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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∅.|T)/T←ιN

Here's a Perl program that prints primes: perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_'

In the Perl world this game is sometimes called Perl Golf because the player with the fewest (key)strokes wins.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 ooblick

/oo´blik/ n.

[from the Dr. Seuss title Bartholomew and the Oobleck; the spelling ‘oobleck’ is still current in the mainstream] 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 OP

[Usenet; common] Abbreviation for original poster, the originator of a particular thread.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 open source

n.

[common; also adj. open-source] Term coined in March 1998 following the Mozilla release to describe software distributed in source under licenses guaranteeing anybody rights to freely use, modify, and redistribute, the code. The intent was to be able to sell the hackers' ways of doing software to industry and the mainstream by avoiding the negative connotations (to suits) of the term free software. For discussion of the follow-on tactics and their consequences, see the Open Source Initiative site.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 open switch

n.

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

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 operating system

n.

[techspeak] (Often abbreviated ‘OS’) The foundation software of a machine; 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). See also timesharing.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 operator headspace

[common] More fully, operator headspace error. Synonym for pilot error — a dumb move, especially one pulled by someone who ought to know better. Often used reflexively.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 optical diff

n.

See vdiff.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 optical grep

n.

See vgrep.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 Oracle, the

The all-knowing, all-wise Internet Oracle rec.humor.oracle, or one of the foreign language derivatives of same. Newbies frequently confuse the Oracle with Oracle, a database vendor. As a result, the unmoderated rec.humor.oracle.d is frequently cross-posted to by the clueless, looking for advice on SQL. As more than one person has said in similar situations, Don't people bother to look at the newsgroup description line anymore? (To which the standard response is, Did people ever read it in the first place?)

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 Orange Book

n.

The U.S. Government's (now obsolete) 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). Modern Unixes are roughly C2. See also book titles.

Posted by Jargon File at 10:36 AM | Lexicon - O | Comments (0)

 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, Burmese, and Vietnamese cuisines are also quite popular.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 orphan

n.

[Unix] A process whose parent has died; one inherited by init1. Compare zombie.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

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

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 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 three 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 were said to have improved somewhat, and informed hackers rated them superior to Microsoft Windows (an endorsement which, however, could easily be construed as damning with faint praise). In the mid-1990s IBM put OS/2 on life support, refraining from killing it outright purely for internal political reasons; by 1999 the success of Linux had effectively ended any possibility of a renaissance. See monstrosity, cretinous, second-system effect.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 OSS

Written-only acronym for Open Source Software (see open source). This is a rather ugly TLA, and the principals in the open-source movement don't use it, but it has (perhaps inevitably) spread through the trade press like kudzu.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 OT

[Usenet: common] Abbreviation for off-topic. This is used to respond to a question that is inappropriate for the newsgroup that the questioner posted to. Often used in an HTML-style modifier or with adverbs. See also TAN.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 OTOH

[Usenet; very common] On The Other Hand.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 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.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 overclock

/oh´vr·klok´/ vt.

To operate a CPU or other digital logic device at a rate higher than it was designed for, under the assumption that the manufacturer put some slop into the specification to account for manufacturing tolerances. Overclocking something can result in intermittent crashes, and can even burn things out, since power dissipation is directly proportional to clock frequency. People who make a hobby of this are sometimes called overclockers; they are thrilled that they can run their CPU a few percent faster, even though they can only tell the difference by running a benchmark program. See also case mod.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 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.

Crunchly and the overflow bit.

(The next cartoon in the Crunchly saga is 73-07-29)

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

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

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 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 malloc3; 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 stdio3 or malloc3 itself. See spam, overrun; see also memory leak, memory smash, aliasing bug, precedence lossage, fandango on core, secondary damage.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)

 owned

1. [cracker slang; often written 0wned] Your condition when your machine has been cracked by a root exploit, and the attacker can do anything with it. This sense is occasionally used by hackers.

2. [gamers, IRC, crackers] To be dominated, controlled, mastered. For example, if you make a statement completely and utterly false, and someone else corrects it in a way that humiliates or removes you, you are said to have been owned by that person. When referring to games, I own0r UT GOTYE means that one has mastered Unreal Tournament, Game of the Year Edition to such a level that even the hardest AI characters are mere lunchmeat, and that no ordinary mortal player would even receive a point in competition. There are several spelling variants: 0wned, 0wn0r3d, even pwn0r3d. Hackers do not use this sense.

Posted by Jargon File at 10:35 AM | Lexicon - O | Comments (0)
Links
The Bleat
Contents
Appendix - Folklore
Lexicon - A
Lexicon - B
Lexicon - C
Lexicon - D
Lexicon - E
Lexicon - F
Lexicon - G
Lexicon - H
Lexicon - I
Lexicon - J
Lexicon - K
Lexicon - L
Lexicon - M
Lexicon - Misc
Lexicon - N
Lexicon - O
Lexicon - P
Lexicon - Q
Lexicon - R
Lexicon - S
Lexicon - T
Lexicon - U
Lexicon - V
Lexicon - W
Lexicon - X
Lexicon - Y
Lexicon - Z
Sitemeter
Cute Kitties