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