The Jargon File, Version 2.9.10, 01 Jul 1992

Part 4

Chapter 4 3,183 words Public domain Markdown

:AFJ: n. Written-only abbreviation for "April Fool's Joke". Elaborate April Fool's hoaxes are a hallowed tradition on USENET and Internet; see {kremvax} for an example. In fact, April Fool's Day is the *only* seasonal holiday marked by customary observances on the hacker networks.

:AI-complete: /A-I k*m-pleet'/ [MIT, Stanford: by analogy with `NP-complete' (see {NP-})] adj. Used to describe problems or subproblems in AI, to indicate that the solution presupposes a solution to the `strong AI problem' (that is, the synthesis of a human-level intelligence). A problem that is AI-complete is, in other words, just too hard.

Examples of AI-complete problems are `The Vision Problem' (building a system that can see as well as a human) and `The Natural Language Problem' (building a system that can understand and speak a natural language as well as a human). These may appear to be modular, but all attempts so far (1991) to solve them have foundered on the amount of context information and `intelligence' they seem to require. See also {gedanken}.

:AI koans: /A-I koh'anz/ pl.n. A series of pastiches of Zen teaching riddles created by Danny Hillis at the MIT AI Lab around various major figures of the Lab's culture (several are included under "{A Selection of AI Koans}" in {appendix A}). See also {ha ha only serious}, {mu}, and {{Humor, Hacker}}.

:AIDS: /aydz/ n. Short for A* Infected Disk Syndrome (`A*' is a {glob} pattern that matches, but is not limited to, Apple), this condition is quite often the result of practicing unsafe {SEX}. See {virus}, {worm}, {Trojan horse}, {virgin}.

:AIDX: n. /aydkz/ n. Derogatory term for IBM's perverted version of UNIX, AIX, especially for the AIX 3.? used in the IBM RS/6000 series. A victim of the dreaded "hybridism" disease, this attempt to combine the two main currents of the UNIX stream ({BSD} and {USG UNIX}) became a {monstrosity} to haunt system administrators' dreams. For example, if new accounts are created while many users are logged on, the load average jumps quickly over 20 due to silly implementation of the user databases. For a quite similar disease, compare {HP-SUX}. Also, compare {terminak}, {Macintrash} {Nominal Semidestructor}, {Open DeathTrap}, {ScumOS}, {sun-stools}.

:airplane rule: n. "Complexity increases the possibility of failure; a twin-engine airplane has twice as many engine problems as a single-engine airplane." By analogy, in both software and electronics, the rule that simplicity increases robustness (see also {KISS Principle}). It is correspondingly argued that the right way to build reliable systems is to put all your eggs in one basket, after making sure that you've built a really *good* basket.

:aliasing bug: n. A class of subtle programming errors that can arise in code that does dynamic allocation, esp. via `malloc(3)' or equivalent. If more than one pointer addresses (`aliases for') a given hunk of storage, it may happen that the storage is freed or reallocated (and thus moved) through one alias and then referenced through another, which may lead to subtle (and possibly intermittent) lossage depending on the state and the allocation history of the malloc {arena}. Avoidable by use of allocation strategies that never alias allocated core. Also avoidable by use of higher-level languages, such as {LISP}, which employ a garbage collector (see {GC}). Also called a {stale pointer bug}. See also {precedence lossage}, {smash the stack}, {fandango on core}, {memory leak}, {memory smash}, {overrun screw}, {spam}.

Historical note: Though this term is nowadays associated with C programming, it was already in use in a very similar sense in the Algol-60 and FORTRAN communities in the 1960s.

:all-elbows: adj. Of a TSR (terminate-and-stay-resident) IBM PC program, such as the N pop-up calendar and calculator utilities that circulate on {BBS} systems: unsociable. Used to describe a program that rudely steals the resources that it needs without considering that other TSRs may also be resident. One particularly common form of rudeness is lock-up due to programs fighting over the keyboard interrupt. See {rude}, also {mess-dos}.

:alpha particles: n. See {bit rot}.

:alt: /awlt/ 1. n. The alt shift key on an IBM PC or {clone}. 2. n. The `clover' or `Command' key on a Macintosh; use of this term usually reveals that the speaker hacked PCs before coming to the Mac (see also {feature key}). Some Mac hackers, confusingly, reserve `alt' for the Option key. 3. n.obs. [PDP-10; often capitalized to ALT] Alternate name for the ASCII ESC character (ASCII 0011011), after the keycap labeling on some older terminals. Also `altmode' (/awlt'mohd/). This character was almost never pronounced `escape' on an ITS system, in {TECO}, or under TOPS-10 --- always alt, as in "Type alt alt to end a TECO command" or "alt-U onto the system" (for "log onto the [ITS] system"). This was probably because alt is more convenient to say than `escape', especially when followed by another alt or a character (or another alt *and* a character, for that matter).

:alt bit: /awlt bit/ [from alternate] adj. See {meta bit}.

:altmode: n. Syn. {alt} sense 3.

:Aluminum Book: [MIT] n. `Common LISP: The Language', by Guy L. Steele Jr. (Digital Press, first edition 1984, second edition 1990). Note that due to a technical screwup some printings of the second edition are actually of a color the author describes succinctly as "yucky green". See also {{book titles}}.

:amoeba: n. Humorous term for the Commodore Amiga personal computer.

:amp off: [Purdue] vt. To run in {background}. From the UNIX shell `&' operator.

:amper: n. Common abbreviation for the name of the ampersand (`&', ASCII 0100110) character. See {{ASCII}} for other synonyms.

:angle brackets: n. Either of the characters `<' (ASCII 0111100) and `>' (ASCII 0111110) (ASCII less-than or greater-than signs). The {Real World} angle brackets used by typographers are actually taller than a less-than or greater-than sign. See {broket}, {{ASCII}}.

:angry fruit salad: n. A bad visual-interface design that uses too many colors. This derives, of course, from the bizarre day-glo colors found in canned fruit salad. Too often one sees similar effects from interface designers using color window systems such as {X}; there is a tendency to create displays that are flashy and attention-getting but uncomfortable for long-term use.

:annoybot: /*-noy-bot/ [IRC] n. See {robot}.

:AOS: 1. /aws/ (East Coast), /ay-os/ (West Coast) [based on a PDP-10 increment instruction] vt.,obs. To increase the amount of something. "AOS the campfire." Usage: considered silly, and now obsolete. Now largely supplanted by {bump}. See {SOS}. 2. A {{Multics}}-derived OS supported at one time by Data General. This was pronounced /A-O-S/ or /A-os/. A spoof of the standard AOS system administrator's manual (`How to Load and Generate your AOS System') was created, issued a part number, and circulated as photocopy folklore. It was called `How to Goad and Levitate your CHAOS System'. 3. Algebraic Operating System, in reference to those calculators which use infix instead of postfix (reverse Polish) notation.

Historical note: AOS in sense 1 was the name of a {PDP-10} instruction that took any memory location in the computer and added 1 to it; AOS meant `Add One and do not Skip'. Why, you may ask, does the `S' stand for `do not Skip' rather than for `Skip'? Ah, here was a beloved piece of PDP-10 folklore. There were eight such instructions: AOSE added 1 and then skipped the next instruction if the result was Equal to zero; AOSG added 1 and then skipped if the result was Greater than 0; AOSN added 1 and then skipped if the result was Not 0; AOSA added 1 and then skipped Always; and so on. Just plain AOS didn't say when to skip, so it never skipped.

For similar reasons, AOJ meant `Add One and do not Jump'. Even more bizarre, SKIP meant `do not SKIP'! If you wanted to skip the next instruction, you had to say `SKIPA'. Likewise, JUMP meant `do not JUMP'; the unconditional form was JUMPA. However, hackers never did this. By some quirk of the 10's design, the {JRST} (Jump and ReSTore flag with no flag specified) was actually faster and so was invariably used. Such were the perverse mysteries of assembler programming.

:app: /ap/ n. Short for `application program', as opposed to a systems program. What systems vendors are forever chasing developers to create for their environments so they can sell more boxes. Hackers tend not to think of the things they themselves run as apps; thus, in hacker parlance the term excludes compilers, program editors, games, and messaging systems, though a user would consider all those to be apps. Oppose {tool}, {operating system}.

:arc: [primarily MSDOS] vt. To create a compressed {archive} from a group of files using SEA ARC, PKWare PKARC, or a compatible program. Rapidly becoming obsolete as the ARC compression method is falling into disuse, having been replaced by newer compression techniques. See {tar and feather}, {zip}.

:arc wars: [primarily MSDOS] n. {holy wars} over which archiving program one should use. The first arc war was sparked when System Enhancement Associates (SEA) sued PKWare for copyright and trademark infringement on its ARC program. PKWare's PKARC outperformed ARC on both compression and speed while largely retaining compatibility (it introduced a new compression type that could be disabled for backward-compatibility). PKWare settled out of court to avoid enormous legal costs (both SEA and PKWare are small companies); as part of the settlement, the name of PKARC was changed to PKPAK. The public backlash against SEA for bringing suit helped to hasten the demise of ARC as a standard when PKWare and others introduced new, incompatible archivers with better compression algorithms.

:archive: n. 1. A collection of several files bundled into one file by a program such as `ar(1)', `tar(1)', `cpio(1)', or {arc} for shipment or archiving (sense 2). See also {tar and feather}. 2. A collection of files or archives (sense 1) made available from an `archive site' via {FTP} or an email server.

:arena: [UNIX] n. The area of memory attached to a process by `brk(2)' and `sbrk(2)' and used by `malloc(3)' as dynamic storage. So named from a semi-mythical `malloc: corrupt arena' message supposedly emitted when some early versions became terminally confused. See {overrun screw}, {aliasing bug}, {memory leak}, {memory smash}, {smash the stack}.

:arg: /arg/ n. Abbreviation for `argument' (to a function), used so often as to have become a new word (like `piano' from `pianoforte'). "The sine function takes 1 arg, but the arc-tangent function can take either 1 or 2 args." Compare {param}, {parm}, {var}.

:armor-plated: n. Syn. for {bulletproof}.

:asbestos: adj. Used as a modifier to anything intended to protect one from {flame}s. Important cases of this include {asbestos longjohns} and {asbestos cork award}, but it is used more generally.

:asbestos cork award: n. Once, long ago at MIT, there was a {flamer} so consistently obnoxious that another hacker designed, had made, and distributed posters announcing that said flamer had been nominated for the `asbestos cork award'. Persons in any doubt as to the intended application of the cork should consult the etymology under {flame}. Since then, it is agreed that only a select few have risen to the heights of bombast required to earn this dubious dignity --- but there is no agreement on *which* few.

:asbestos longjohns: n. Notional garments often donned by {USENET} posters just before emitting a remark they expect will elicit {flamage}. This is the most common of the {asbestos} coinages. Also `asbestos underwear', `asbestos overcoat', etc.

:ASCII:: [American Standard Code for Information Interchange] /as'kee/ n. The predominant character set encoding of present-day computers. Uses 7 bits for each character, whereas most earlier codes (including an early version of ASCII) used fewer. This change allowed the inclusion of lowercase letters --- a major {win} --- but it did not provide for accented letters or any other letterforms not used in English (such as the German sharp-S and the ae-ligature which is a letter in, for example, Norwegian). It could be worse, though. It could be much worse. See {{EBCDIC}} to understand how.

Computers are much pickier and less flexible about spelling than humans; thus, hackers need to be very precise when talking about characters, and have developed a considerable amount of verbal shorthand for them. Every character has one or more names --- some formal, some concise, some silly. Common jargon names for ASCII characters are collected here. See also individual entries for {bang}, {excl}, {open}, {ques}, {semi}, {shriek}, {splat}, {twiddle}, and {Yu-Shiang Whole Fish}.

This list derives from revision 2.3 of the USENET ASCII pronunciation guide. Single characters are listed in ASCII order; character pairs are sorted in by first member. For each character, common names are given in rough order of popularity, followed by names that are reported but rarely seen; official ANSI/CCITT names are surrounded by brokets: <>. Square brackets mark the particularly silly names introduced by {INTERCAL}. Ordinary parentheticals provide some usage information.

! Common: {bang}; pling; excl; shriek; . Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey; wham; eureka; [spark-spot]; soldier.

" Common: double quote; quote. Rare: literal mark; double-glitch; ; ; dirk; [rabbit-ears]; double prime.

# Common: ; pound; pound sign; hash; sharp; {crunch}; hex; [mesh]; octothorpe. Rare: flash; crosshatch; grid; pig-pen; tictactoe; scratchmark; thud; thump; {splat}.

$ Common: dollar; . Rare: currency symbol; buck; cash; string (from BASIC); escape (when used as the echo of ASCII ESC); ding; cache; [big money].

% Common: percent; ; mod; grapes. Rare: [double-oh-seven].

& Common: ; amper; and. Rare: address (from C); reference (from C++); andpersand; bitand; background (from `sh(1)'); pretzel; amp. [INTERCAL called this `ampersand'; what could be sillier?]

' Common: single quote; quote; . Rare: prime; glitch; tick; irk; pop; [spark]; ; .

() Common: left/right paren; left/right parenthesis; left/right; paren/thesis; open/close paren; open/close; open/close parenthesis; left/right banana. Rare: so/al-ready; lparen/rparen; <opening/closing parenthesis>; open/close round bracket, parenthisey/unparenthisey; [wax/wane]; left/right ear.

* Common: star; [{splat}]; . Rare: wildcard; gear; dingle; mult; spider; aster; times; twinkle; glob (see {glob}); {Nathan Hale}.

+ Common: ; add. Rare: cross; [intersection].

, Common: . Rare: ; [tail].

- Common: dash; ; . Rare: [worm]; option; dak; bithorpe.

. Common: dot; point; ; . Rare: radix point; full stop; [spot].

/ Common: slash; stroke; ; forward slash. Rare: diagonal; solidus; over; slak; virgule; [slat].

: Common: . Rare: dots; [two-spot].

; Common: ; semi. Rare: weenie; [hybrid], pit-thwong.

<> Common: <less/greater than>; left/right angle bracket; bra/ket; left/right broket. Rare: from/{into, towards}; read from/write to; suck/blow; comes-from/gozinta; in/out; crunch/zap (all from UNIX); [angle/right angle].

= Common: ; gets; takes. Rare: quadrathorpe; [half-mesh].

? Common: query; ; {ques}. Rare: whatmark; [what]; wildchar; huh; hook; buttonhook; hunchback.

@ Common: at sign; at; strudel. Rare: each; vortex; whorl; [whirlpool]; cyclone; snail; ape; cat; rose; cabbage; .

V Rare: [book].

[] Common: left/right square bracket; <opening/closing bracket>; bracket/unbracket; left/right bracket. Rare: square/unsquare; [U turn/U turn back].

\ Common: backslash; escape (from C/UNIX); reverse slash; slosh; backslant; backwhack. Rare: bash; ; reversed virgule; [backslat].

^ Common: hat; control; uparrow; caret; . Rare: chevron; [shark (or shark-fin)]; to the (`to the power of'); fang; pointer (in Pascal).

_ Common: ; underscore; underbar; under. Rare: score; backarrow; skid; [flatworm].

` Common: backquote; left quote; left single quote; open quote; ; grave. Rare: backprime; [backspark]; unapostrophe; birk; blugle; back tick; back glitch; push; ; quasiquote.

{} Common: open/close brace; left/right brace; left/right squiggly; left/right squiggly bracket/brace; left/right curly bracket/brace; <opening/closing brace>. Rare: brace/unbrace; curly/uncurly; leftit/rytit; left/right squirrelly; [embrace/bracelet].

| Common: bar; or; or-bar; v-bar; pipe; vertical bar. Rare: ; gozinta; thru; pipesinta (last three from UNIX); [spike].

~ Common: ; squiggle; {twiddle}; not. Rare: approx; wiggle; swung dash; enyay; [sqiggle (sic)].

The pronunciation of `#' as `pound' is common in the U.S. but a bad idea; {{Commonwealth Hackish}} has its own, rather more apposite use of `pound sign' (confusingly, on British keyboards the pound graphic happens to replace `#'; thus Britishers sometimes call `#' on a U.S.-ASCII keyboard `pound', compounding the American error). The U.S. usage derives from an old-fashioned commercial practice of using a `#' suffix to tag pound weights on bills of lading. The character is usually pronounced `hash' outside the U.S.

The `uparrow' name for circumflex and `leftarrow' name for underline are historical relics from archaic ASCII (the 1963 version), which had these graphics in those character positions rather than the modern punctuation characters.

The `swung dash' or `approximation' sign is not quite the same as tilde in typeset material but the ASCII tilde serves for both (compare {angle brackets}).

Some other common usages cause odd overlaps. The `#', `$', `>', and `&' characters, for example, are all pronounced "hex" in different communities because various assemblers use them as a prefix tag for hexadecimal constants (in particular, `#' in many assembler-programming cultures, `$' in the 6502 world, `>' at Texas Instruments, and `&' on the BBC Micro, Sinclair, and some Z80 machines). See also {splat}.

The inability of ASCII text to correctly represent any of the world's other major languages makes the designers' choice of 7 bits look more and more like a serious {misfeature} as the use of international networks continues to increase (see {software rot}). Hardware and software from the U.S. still tends to embody the assumption that ASCII is the universal character set; this is a a major irritant to people who want to use a character set suited to their own languages. Perversely, though, efforts to solve this problem by proliferating `national' character sets produce an evolutionary pressure to use a *smaller* subset common to all those in use.

:ASCII art: n. The fine art of drawing diagrams using the ASCII character set (mainly `|', `-', `/', `\', and `+'). Also known as `character graphics' or `ASCII graphics'; see also {boxology}. Here is a serious example:

o----)||(--+--|<----+ +---------o + D O L )||( | | | C U A I )||( +-->|-+ | +-\/\/-+--o - T C N )||( | | | | P E )||( +-->|-+--)---+--)|--+-o U )||( | | | GND T o----)||(--+--|<----+----------+

A power supply consisting of a full wave rectifier circuit feeding a capacitor input filter circuit

Figure 1.

And here are some very silly examples:

|\/\/\/| ____/| ___ |\_/| ___ | | \ o.O| ACK! / \_ |` '| _/ \ | | =(_)= THPHTH! / \/ \/ \ | (o)(o) U / \ C _) (__) \/\/\/\ _____ /\/\/\/ | ,___| (oo) \/ \/ | / \/-------\ U (__) /____\ || | \ /---V `v'- oo ) / \ ||---W|| * * |--| || |`. |_/\

Figure 2.

There is an important subgenre of humorous ASCII art that takes advantage of the names of the various characters to tell a pun-based joke.

+--------------------------------------------------------+ | ^^^^^^^^^^^^ | | ^^^^^^^^^^^ ^^^^^^^^^ | | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ | | ^^^^^^^ B ^^^^^^^^^ | | ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ | +--------------------------------------------------------+ " A Bee in the Carrot Patch "

Figure 3.

Within humorous ASCII art, there is for some reason an entire flourishing subgenre of pictures of silly cows. Four of these are reproduced in Figure 2; here are three more:

(__) (__) (__) (\/) ($$) (**) /-------\/ /-------\/ /-------\/ / | 666 || / |=====|| / | || * ||----|| * ||----|| * ||----|| ~~ ~~ ~~ ~~ ~~ ~~ Satanic cow This cow is a Yuppie Cow in love

Figure 4.

:attoparsec: n. `atto-' is the standard SI prefix for multiplication by 10^(-18). A parsec (parallax-second) is 3.26 light-years; an attoparsec is thus 3.26 * 10^(-18) light years, or about 3.1 cm (thus, 1 attoparsec/{microfortnight} equals about 1 inch/sec). This unit is reported to be in use (though probably not very seriously) among hackers in the U.K. See {micro-}.

:autobogotiphobia: /aw'to-boh-got`*-foh'bee-*/ n. See {bogotify}.

:automagically: /aw-toh-maj'i-klee/ or /aw-toh-maj'i-k*l-ee/ adv. Automatically, but in a way that, for some reason (typically because it is too complicated, or too ugly, or perhaps even too trivial), the speaker doesn't feel like explaining to you. See {magic}. "The C-INTERCAL compiler generates C, then automagically invokes `cc(1)' to produce an executable."