The Jargon File, Version 4.0.0, 24 Jul 1996

Chapter 2

Chapter 22,980 wordsPublic domain

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}. The abbreviations "l/r" and "o/c" stand for left/right and "open/close" respectively. 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: number sign; pound; pound sign; hash; sharp; {crunch}; hex; [mesh]. Rare: grid; crosshatch; octothorpe; flash; , 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: l/r paren; l/r parenthesis; left/right; open/close; paren/thesis; o/c paren; o/c parenthesis; l/r parenthesis; l/r banana. Rare: so/already; lparen/rparen; <opening/closing parenthesis>; o/c round bracket, l/r round bracket, [wax/wane]; parenthisey/unparenthisey; l/r 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>; bra/ket; l/r angle; l/r angle bracket; l/r 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: l/r square bracket; l/r bracket; <opening/closing bracket>; bracket/unbracket. 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: o/c brace; l/r brace; l/r squiggly; l/r squiggly bracket/brace; l/r curly bracket/brace; <opening/closing brace>. Rare: brace/unbrace; curly/uncurly; leftit/rytit; l/r 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. There are more culture wars over the correct pronunciation of this character than any other, which has led to the {ha ha only serious} suggestion that it be pronounced `shibboleth' (see Judges 12.6 in a Christian Bible).

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 and that characters have 7 bits; 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

And here are some very silly examples:

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

//-o-\\ ____---=======---____ ====___\ /.. ..\ /___==== Klingons rule OK! // ---\__O__/--- \\ \_\ /_/

There is an important subgenre of ASCII art that puns on the standard character names in the fashion of a rebus.

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

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

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

Finally, here's a magnificent example of ASCII art depicting an Edwardian train station in Dunedin, New Zealand:

.-. /___\ |___| |]_[| / I \ JL/ | \JL .-. i () | () i .-. |_| .^. /_\ LJ=======LJ /_\ .^. |_| ._/___\._./___\_._._._._.L_J_/.-. .-.\_L_J._._._._._/___\._./___\._._._ ., |-,-| ., L_J |_| [I] |_| L_J ., |-,-| ., ., JL |-O-| JL L_J%%%%%%%%%%%%%%%L_J JL |-O-| JL JL IIIIII_HH_'-'-'_HH_IIIIII|_|=======H=======|_|IIIIII_HH_'-'-'_HH_IIIIII_HH_ -------[]-------[]-------[_]----\.=I=./----[_]-------[]-------[]--------[]- _/\_ ||\\_I_//|| _/\_ [_] []_/_L_J_\_[] [_] _/\_ ||\\_I_//|| _/\_ ||\ |__| ||=/_|_\=|| |__|_|_| _L_L_J_J_ |_|_|__| ||=/_|_\=|| |__| ||- |__| |||__|__||| |__[___]__--__===__--__[___]__| |||__|__||| |__| ||| IIIIIII[_]IIIII[_]IIIIIL___J__II__|_|__II__L___JIIIII[_]IIIII[_]IIIIIIII[_] \_I_/ [_]\_I_/[_] \_I_[_]\II/[]\_\I/_/[]\II/[_]\_I_/ [_]\_I_/[_] \_I_/ [_] ./ \.L_J/ \L_J./ L_JI I[]/ \[]I IL_J \.L_J/ \L_J./ \.L_J | |L_J| |L_J| L_J| |[]| |[]| |L_J |L_J| |L_J| |L_J |_____JL_JL___JL_JL____|-|| |[]| |[]| ||-|_____JL_JL___JL_JL_____JL_J

There is a newsgroup, alt.ascii.art, devoted to this genre; however, see also {warlording}.

:ASCIIbetical order: /as'kee-be'-t*-kl or'dr/ /adj.,n./ Used to indicate that data is sorted in ASCII collated order rather than alphabetical order. This lexicon is sorted in something close to ASCIIbetical order, but with case ignored and entries beginning with non-alphabetic characters moved to the end.

:atomic: /adj./ [from Gk. `atomos', indivisible] 1. Indivisible; cannot be split up. For example, an instruction may be said to do several things `atomically', i.e., all the things are done immediately, and there is no chance of the instruction being half-completed or of another being interspersed. Used esp. to convey that an operation cannot be screwed up by interrupts. "This routine locks the file and increments the file's semaphore atomically." 2. [primarily techspeak] Guaranteed to complete successfully or not at all, usu. refers to database transactions. If an error prevents a partially-performed transaction from proceeding to completion, it must be "backed out," as the database must not be left in an inconsistent state.

Computer usage, in either of the above senses, has none of the connotations that `atomic' has in mainstream English (i.e. of particles of matter, nuclear explosions etc.).

:attoparsec: /n./ About an inch. `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'toh-boh-got`*-foh'bee-*/ /n./ See {bogotify}.

:automagically: /aw-toh-maj'i-klee/ /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."

This term is quite old, going back at least to the mid-70s and probably much earlier. The word `automagic' occurred in advertising (for a shirt-ironing gadget) as far back as the late 1940s.

:avatar: /n./ Syn. 1. Among people working on virtual reality and {cyberspace} interfaces, an "avatar" is an icon or representation of a user in a shared virtual reality. The term is sometimes used on {MUD}s. 2. [CMU, Tektronix] {root}, {superuser}. There are quite a few Unix machines on which the name of the superuser account is `avatar' rather than `root'. This quirk was originated by a CMU hacker who disliked the term `superuser', and was propagated through an ex-CMU hacker at Tektronix.

:awk: /awk/ 1. /n./ [Unix techspeak] An interpreted language for massaging text data developed by Alfred Aho, Peter Weinberger, and Brian Kernighan (the name derives from their initials). It is characterized by C-like syntax, a declaration-free approach to variable typing and declarations, associative arrays, and field-oriented text processing. See also {Perl}. 2. n. Editing term for an expression awkward to manipulate through normal {regexp} facilities (for example, one containing a {newline}). 3. /vt./ To process data using `awk(1)'.

= B = =====

:back door: /n./ A hole in the security of a system deliberately left in place by designers or maintainers. The motivation for such holes is not always sinister; some operating systems, for example, come out of the box with privileged accounts intended for use by field service technicians or the vendor's maintenance programmers. Syn. {trap door}; may also be called a `wormhole'. See also {iron box}, {cracker}, {worm}, {logic bomb}.

Historically, back doors have often lurked in systems longer than anyone expected or planned, and a few have become widely known. Ken Thompson's 1983 Turing Award lecture to the ACM admitted the existence of a back door in early Unix versions that may have qualified as the most fiendishly clever security hack of all time. In this scheme, the C compiler contained code that would recognize when the `login' command was being recompiled and insert some code recognizing a password chosen by Thompson, giving him entry to the system whether or not an account had been created for him.

Normally such a back door could be removed by removing it from the source code for the compiler and recompiling the compiler. But to recompile the compiler, you have to *use* the compiler -- so Thompson also arranged that the compiler would *recognize when it was compiling a version of itself*, and insert into the recompiled compiler the code to insert into the recompiled `login' the code to allow Thompson entry -- and, of course, the code to recognize itself and do the whole thing again the next time around! And having done this once, he was then able to recompile the compiler from the original sources; the hack perpetuated itself invisibly, leaving the back door in place and active but with no trace in the sources.

The talk that suggested this truly moby hack was published as "Reflections on Trusting Trust", "Communications of the ACM 27", 8 (August 1984), pp. 761--763 (text available at http://www.acm.org/classics). Ken Thompson has since confirmed that this hack was implemented and that the Trojan Horse code did appear in the login binary of a Unix Support group machine. Ken says the crocked compiler was never distributed. Your editor has heard two separate reports that suggest that the crocked login did make it out of Bell Labs, notably to BBN, and that it enabled at least one late-night login across the network by someone using the login name `kt'.

:backbone cabal: /n./ A group of large-site administrators who pushed through the {Great Renaming} and reined in the chaos of {Usenet} during most of the 1980s. The cabal {mailing list} disbanded in late 1988 after a bitter internal catfight.

:backbone site: /n./ A key Usenet and email site; one that processes a large amount of third-party traffic, especially if it is the home site of any of the regional coordinators for the Usenet maps. Notable backbone sites as of early 1993, when this sense of the term was beginning to pass out of general use due to wide availability of cheap Internet connections, included uunet and the mail machines at Rutgers University, UC Berkeley, {DEC}'s Western Research Laboratories, Ohio State University, and the University of Texas. Compare {rib site}, {leaf site}.

[1996 update: This term is seldom heard any more. The UUCP network world that gave it meaning has nearly disappeared; everyone is on the Internet now and network traffic is distributed in very different patterns. --ESR]

:backgammon:: See {bignum} (sense 3), {moby} (sense 4), and {pseudoprime}.

:background: /n.,adj.,vt./ To do a task `in background' is to do it whenever {foreground} matters are not claiming your undivided attention, and `to background' something means to relegate it to a lower priority. "For now, we'll just print a list of nodes and links; I'm working on the graph-printing problem in background." Note that this implies ongoing activity but at a reduced level or in spare time, in contrast to mainstream `back burner' (which connotes benign neglect until some future resumption of activity). Some people prefer to use the term for processing that they have queued up for their unconscious minds (a tack that one can often fruitfully take upon encountering an obstacle in creative work). Compare {amp off}, {slopsucker}.

Technically, a task running in background is detached from the terminal where it was started (and often running at a lower priority); oppose {foreground}. Nowadays this term is primarily associated with {{Unix}}, but it appears to have been first used in this sense on OS/360.

:backspace and overstrike: /interj./ Whoa! Back up. Used to suggest that someone just said or did something wrong. Common among APL programmers.

:backward combatability: /bak'w*rd k*m-bat'*-bil'*-tee/ /n./ [CMU, Tektronix: from `backward compatibility'] A property of hardware or software revisions in which previous protocols, formats, layouts, etc. are irrevocably discarded in favor of `new and improved' protocols, formats, and layouts, leaving the previous ones not merely deprecated but actively defeated. (Too often, the old and new versions cannot definitively be distinguished, such that lingering instances of the previous ones yield crashes or other infelicitous effects, as opposed to a simple "version mismatch" message.) A backwards compatible change, on the other hand, allows old versions to coexist without crashes or error messages, but too many major changes incorporating elaborate backwards compatibility processing can lead to extreme {software bloat}. See also {flag day}.

:BAD: /B-A-D/ /adj./ [IBM: acronym, `Broken As Designed'] Said of a program that is {bogus} because of bad design and misfeatures rather than because of bugginess. See {working as designed}.

:Bad Thing: /n./ [from the 1930 Sellar & Yeatman parody "1066 And All That"] Something that can't possibly result in improvement of the subject. This term is always capitalized, as in "Replacing all of the 9600-baud modems with bicycle couriers would be a Bad Thing". Oppose {Good Thing}. British correspondents confirm that {Bad Thing} and {Good Thing} (and prob. therefore {Right Thing} and {Wrong Thing}) come from the book referenced in the etymology, which discusses rulers who were Good Kings but Bad Things. This has apparently created a mainstream idiom on the British side of the pond.

:bag on the side: /n./ [prob. originally related to a colostomy bag] An extension to an established hack that is supposed to add some functionality to the original. Usually derogatory, implying that the original was being overextended and should have been thrown away, and the new product is ugly, inelegant, or bloated. Also /v./ phrase, `to hang a bag on the side [of]'. "C++? That's just a bag on the side of C ...." "They want me to hang a bag on the side of the accounting system."

:bagbiter: /bag'bi:t-*r/ /n./ 1. Something, such as a program or a computer, that fails to work, or works in a remarkably clumsy manner. "This text editor won't let me make a file with a line longer than 80 characters! What a bagbiter!" 2. A person who has caused you some trouble, inadvertently or otherwise, typically by failing to program the computer properly. Synonyms: {loser}, {cretin}, {chomper}. 3. `bite the bag' /vi./ To fail in some manner. "The computer keeps crashing every five minutes." "Yes, the disk controller is really biting the bag." The original loading of these terms was almost undoubtedly obscene, possibly referring to the scrotum, but in their current usage they have become almost completely sanitized.

ITS's `lexiphage' program was the first and to date only known example of a program *intended* to be a bagbiter.

:bagbiting: /adj./ Having the quality of a {bagbiter}. "This bagbiting system won't let me compute the factorial of a negative number." Compare {losing}, {cretinous}, {bletcherous}, `barfucious' (under {barfulous}) and `chomping' (under {chomp}).

:balloonian variable: /n./ [Commodore users; perh. a deliberate phonetic mangling of `boolean variable'?] Any variable that doesn't actually hold or control state, but must nevertheless be declared, checked, or set. A typical balloonian variable started out as a flag attached to some environment feature that either became obsolete or was planned but never implemented. Compatibility concerns (or politics attached to same) may require that such a flag be treated as though it were {live}.