Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

The New Hacker's Dictionary

.pdf
Скачиваний:
224
Добавлен:
10.08.2013
Размер:
1.62 Mб
Скачать

781

*[9629]open:

*[9630]open source:

*[9631]open switch:

*[9632]operating system:

*[9633]optical diff:

*[9634]optical grep:

*[9635]optimism:

*[9636]Oracle the:

*[9637]Orange Book:

*[9638]oriental food:

*[9639]orphan:

*[9640]orphaned i-node:

*[9641]orthogonal:

*[9642]OS:

*[9643]OS/2:

*[9644]OSS:

*[9645]OSU:

*[9646]OTOH:

782

*[9647]out-of-band:

*[9648]overclock:

*[9649]overflow bit:

*[9650]overflow pdl:

*[9651]overrun:

*[9652]overrun screw:

---

Node:Ob-, Next:[9653]Obfuscated C Contest, Previous:[9654]nyetwork,

Up:[9655]= O =

Ob- /ob/ pref.

Obligatory. A piece of [9656]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 [9657]winnitude when one's Obs are more interesting than other people's whole postings.

---

Node:Obfuscated C Contest, Next:[9658]obi-wan error,

Previous:[9659]Ob-, Up:[9660]= O =

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

783

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() { ---------------

----------------------------------- -----------------------------------------------

-------------------------------------------------------

-----------------------------------------------------------

-----------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------

-----------------------------------------------------------

-----------------------------------------------------------

-------------------------------------------------------

----------------------------------------------- -------------------------------

--------------- }

784

Note that this program works by computing its own area. For more digits, write a bigger program. See also [9661]hello world.

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

---

Node:obi-wan error, Next:[9663]Objectionable-C,

Previous:[9664]Obfuscated C Contest, Up:[9665]= O =

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 [9666]off-by-one error. See also [9667]zeroth.

---

Node:Objectionable-C, Next:[9668]obscure, Previous:[9669]obi-wan error, Up:[9670]= O =

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 [9671]Right Thing without actually doing so.

---

Node:obscure, Next:[9672]octal forty, Previous:[9673]Objectionable-C, Up:[9674]= O =

785

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.

---

Node:octal forty, Next:[9675]off the trolley, Previous:[9676]obscure, Up:[9677]= O =

octal forty /ok'tl for'tee/ n.

Hackish way of saying "I'm drawing a blank." Octal 40 is the [9678]ASCII space character, 0100000; by an odd coincidence, [9679]hex 40 (01000000) is the [9680]EBCDIC space character. See [9681]wall.

---

Node:off the trolley, Next:[9682]off-by-one error, Previous:[9683]octal forty, Up:[9684]= O =

off the trolley adj.

Describes the behavior of a program that malfunctions and goes catatonic, but doesn't actually [9685]crash or abort. See [9686]glitch, [9687]bug, [9688]deep space, [9689]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

786

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.

---

Node:off-by-one error, Next:[9690]offline, Previous:[9691]off the trolley, Up:[9692]= O =

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 [9693]fencepost error, which is properly a particular subtype of it.

---

Node:offline, Next:[9694]ogg, Previous:[9695]off-by-one error, Up:[9696]= O =

offline adv.

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

---

Node:ogg, Next:[9698]-oid, Previous:[9699]offline, Up:[9700]= O =

ogg /og/ v.

787

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

---

Node:-oid, Next:[9701]old fart, Previous:[9702]ogg, Up:[9703]= O =

-oid suff.

[from Greek suffix -oid = `in the image of'] 1. Used as in mainstream slang English to indicate a poor imitation, a counterfeit, or some otherwise slightly bogus resemblance. Hackers will happily use it with all sorts of non-Greco/Latin stem words that wouldn't keep company with it in mainstream English. For example, "He's a nerdoid" means that he superficially resembles a nerd but can't make the grade; a `modemoid' might be a 300-baud box (Real Modems run at 28.8 or up); a `computeroid' might be any [9704]bitty box. The word `keyboid' could be used to describe a [9705]chiclet keyboard, but would have to be written; spoken, it would confuse the listener as to the speaker's city of origin. 2. More specifically, an indicator for `resembling an android' which in the past has been confined to science-fiction fans and hackers. It too has recently (in 1991) started to

788

go mainstream (most notably in the term `trendoid' for victims of terminal hipness). This is probably traceable to the popularization of the term [9706]droid in "Star Wars" and its sequels. (See also [9707]windoid.)

Coinages in both forms have been common in science fiction for at least fifty years, and hackers (who are often SF fans) have probably been making `-oid' jargon for almost that long [though GLS and I can personally confirm only that they were already common in the mid-1970s --ESR].

---

Node:old fart, Next:[9708]Old Testament, Previous:[9709]-oid, Up:[9710]= O =

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

---

Node:Old Testament, Next:[9712]on the gripping hand, Previous:[9713]old fart, Up:[9714]= O =

Old Testament n.

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

---

Node:on the gripping hand, Next:[9717]one-banana problem, Previous:[9718]Old Testament, Up:[9719]= O =

789

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 [9720]juggling eggs). As with [9721]TANSTAAFL and [9722]con, this usage one of the naturalized imports from SF fandom frequently observed among hackers.

---

Node:one-banana problem, Next:[9723]one-line fix, Previous:[9724]on the gripping hand, Up:[9725]= O =

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

790

See also [9727]Infinite-Monkey Theorem.

---

Node:one-line fix, Next:[9728]one-liner wars, Previous:[9729]one-banana problem, Up:[9730]= O =

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 [9731]I didn't change anything!

---

Node:one-liner wars, Next:[9732]ooblick, Previous:[9733]one-line fix, Up:[9734]= O =

one-liner wars n.

A game popular among hackers who code in the language APL (see [9735]write-only language and [9736]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 [9737]hairy primitive set. A similar amusement was practiced among [9738]TECO hackers and is now popular among [9739]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.

Соседние файлы в предмете Английский язык