The Hacker's Dictionary

Versió HTML de Lluís de Yzaguirre i Maura

Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza @ upf.es


T
= /T/ 1. [from LISP terminology for `true'] Yes. Used in
reply to a question (particularly one asked using [The `-P'
convention}). In LISP, the constant T means `true', among other
things. Some hackers use `T' and `NIL' instead of `Yes' and `No'
almost reflexively. This sometimes causes misunderstandings. When
a waiter or flight attendant asks whether a hacker wants coffee, he
may well respond `T', meaning that he wants coffee; but of course
he will be brought a cup of tea instead. As it happens, most
hackers (particularly those who frequent Chinese restaurants) like
tea at least as well as coffee --- so it is not that big a problem.
2. See time T (also since time T equals minus infinity).
3. [techspeak] In transaction-processing circles, an abbreviation
for the noun `transaction'. 4. [Purdue] Alternate spelling of
tee. 5. A dialect of LISP developed at Yale.
tail recursion
============== n. If you aren't sick of it already, see [tail
recursion}.
talk mode
========= n. A feature supported by UNIX, ITS, and some other
OSes that allows two or more logged-in users to set up a real-time
on-line conversation. It combines the immediacy of talking with
all the precision (and verbosity) that written language entails.
It is difficult to communicate inflection, though conventions have
arisen for some of these (see the section on writing style in the
Prependices for details).

Talk mode has a special set of jargon words, used to save typing,
which are not used orally. Some of these are identical to (and
probably derived from) Morse-code jargon used by ham-radio amateurs
since the 1920s.

BCNU
be seeing you
BTW
by the way
BYE?
are you ready to unlink? (this is the standard way to end a
talk-mode conversation; the other person types `BYE' to
confirm, or else continues the conversation)
CUL
see you later
ENQ?
are you busy? (expects `ACK' or `NAK' in return)
FOO?
are you there? (often used on unexpected links, meaning also
"Sorry if I butted in ..." (linker) or "What's up?" (linkee))
FWIW
for what it's worth
FYI
for your information
FYA
for your amusement
GA
go ahead (used when two people have tried to type
simultaneously; this cedes the right to type to the other)
GRMBL
grumble (expresses disquiet or disagreement)
HELLOP
hello? (an instance of the `-P' convention)
JAM
just a minute (equivalent to `SEC....')
MIN
same as `JAM'
NIL
no (see NIL)
O
over to you
OO
over and out
/
another form of "over to you" (from x/y as "x over y")
\
lambda (used in discussing LISPy things)
OBTW
oh, by the way
R U THERE?
are you there?
SEC
wait a second (sometimes written `SEC...')
T
yes (see the main entry for T)
TNX
thanks
TNX 1.0E6
thanks a million (humorous)
TNXE6
another form of "thanks a million"
WRT
with regard to, or with respect to.
WTF
the universal interrogative particle; WTF knows what it means?
WTH
what the hell?

When the typing party has finished, he/she types two newlines
to signal that he/she is done; this leaves a blank line
between `speeches' in the conversation, making it easier to
reread the preceding text.
:
When three or more terminals are linked, it is conventional
for each typist to prepend his/her login name or handle and
a colon (or a hyphen) to each line to indicate who is typing
(some conferencing facilities do this automatically). The
login name is often shortened to a unique prefix (possibly a
single letter) during a very long conversation.
/\/\/\
A giggle or chuckle. On a MUD, this usually means `earthquake
fault'.

Most of the above sub-jargon is used at both Stanford and MIT.
Several of these expressions are also common in email, esp.
FYI, FYA, BTW, BCNU, WTF, and CUL. A few other abbreviations have
been reported from commercial networks, such as GEnie and
CompuServe, where on-line `live' chat including more than two
people is common and usually involves a more `social' context,
notably the following:


grin

grinning, running, and ducking
BBL
be back later
BRB
be right back
HHOJ
ha ha only joking
HHOK
ha ha only kidding
HHOS
ha ha only serious
IMHO
in my humble opinion (see IMHO)
LOL
laughing out loud
NHOH
Never Heard of Him/Her (often used in initgame)
ROTF
rolling on the floor
ROTFL
rolling on the floor laughing
AFK
away from keyboard
b4
before
CU l8tr
see you later
MORF
male or female?
TTFN
ta-ta for now
TTYL
talk to you later
OIC
oh, I see
rehi
hello again

Most of these are not used at universities or in the UNIX world,
though ROTF and TTFN have gained some currency there and IMHO is
common; conversely, most of the people who know these are
unfamiliar with FOO?, BCNU, HELLOP, NIL, and T.

The MUD community uses a mixture of USENET/Internet emoticons,
a few of the more natural of the old-style talk-mode abbrevs, and
some of the `social' list above; specifically, MUD respondents
report use of BBL, BRB, LOL, b4, BTW, WTF, TTFN, and WTH. The use
of `rehi' is also common; in fact, mudders are fond of re-
compounds and will frequently `rehug' or `rebonk' (see
bonk/oif) people. The word `re' by itself is taken as
`regreet'. In general, though, MUDders express a preference for
typing things out in full rather than using abbreviations; this may
be due to the relative youth of the MUD cultures, which tend to
include many touch typists and to assume high-speed links. The
following uses specific to MUDs are reported:

CU l8er
see you later (mutant of `CU l8tr')
FOAD
fuck off and die (use of this is generally OTT)
OTT
over the top (excessive, uncalled for)
ppl
abbrev for "people"
THX
thanks (mutant of `TNX'; clearly this comes in batches of 1138
(the Lucasian K)).
UOK?
are you OK?

Some BIFFisms (notably the variant spelling `d00d')
appear to be passing into wider use among some subgroups of
MUDders.

One final note on talk mode style: neophytes, when in talk mode,
often seem to think they must produce letter-perfect prose because
they are typing rather than speaking. This is not the best
approach. It can be very frustrating to wait while your partner
pauses to think of a word, or repeatedly makes the same spelling
error and backs up to fix it. It is usually best just to leave
typographical errors behind and plunge forward, unless severe
confusion may result; in that case it is often fastest just to type
"xxx" and start over from before the mistake.

See also hakspek, emoticon.

talker system
============= n. British hackerism for software that enables
real-time chat or talk mode.
tall card
========= n. A PC/AT-size expansion card (these can be larger
than IBM PC or XT cards because the AT case is bigger). See also
short card. When IBM introduced the PS/2 model 30 (its last
gasp at supporting the ISA) they made the case lower and many
industry-standard tall cards wouldn't fit; this was felt to be a
reincarnation of the connector conspiracy, done with less
style.
tanked
====== adj. Same as down, used primarily by UNIX hackers. See
also hosed. Popularized as a synonym for `drunk' by Steve
Dallas in the late lamented "Bloom County" comic strip.
TANSTAAFL
========= /tan'stah-fl/ [acronym, from Robert Heinlein's
classic "The Moon is a Harsh Mistress".] "There Ain't No
Such Thing As A Free Lunch", often invoked when someone is balking
at the prospect of using an unpleasantly heavyweight
technique, or at the poor quality of some piece of free software,
or at the signal-to-noise ratio of unmoderated USENET
newsgroups. "What? Don't tell me I have to implement a database
back end to get my address book program to work!" "Well,
TANSTAAFL you know." This phrase owes some of its popularity to
the high concentration of science-fiction fans and political
libertarians in hackerdom (see Appendix B).
tar and feather
=============== [from UNIX `tar(1)'] vt. To create a
transportable archive from a group of files by first sticking them
together with `tar(1)' (the Tape ARchiver) and then
compressing the result (see compress). The latter action is
dubbed `feathering' partly for euphony and (if only for contrived
effect) by analogy to what you do with an airplane propeller to
decrease wind resistance, or with an oar to reduce water
resistance; smaller files, after all, slip through comm links more
easily.
taste
===== [primarily MIT] n. 1. The quality in a program that tends
to be inversely proportional to the number of features, hacks, and
kluges programmed into it. Also `tasty', `tasteful',
`tastefulness'. "This feature comes in N tasty flavors."
Although `tasteful' and `flavorful' are essentially
synonyms, `taste' and flavor are not. Taste refers to
sound judgment on the part of the creator; a program or feature
can *exhibit* taste but cannot *have* taste. On the other
hand, a feature can have flavor. Also, flavor has the
additional meaning of `kind' or `variety' not shared by
`taste'. [Flavor] is a more popular word than `taste',
though both are used. See also elegant. 2. Alt. sp. of
tayste.
tayste
====== /tayst/ n. Two bits; also as taste. Syn. crumb,
quarter. Compare "byte", dynner, playte,
nybble, quad.
TCB
=== /T-C-B/ [IBM] n. 1. Trouble Came Back. An intermittent or
difficult-to-reproduce problem that has failed to respond to
neglect or shotgun debugging. Compare heisenbug. Not to
be confused with: 2. Trusted Computing Base, an `official'
jargon term from the Orange Book.
tea, ISO standard cup of
======================== [South Africa] n. A cup of tea with milk
and one teaspoon of sugar, where the milk is poured into the cup
before the tea. Variations are ISO 0, with no sugar; ISO 2, with
two spoons of sugar; and so on.

Like many ISO standards, this one has a faintly alien ring in North
America, where hackers generally shun the decadent British practice
of adulterating perfectly good tea with dairy products and
prefer instead to add a wedge of lemon, if anything. If one were
feeling extremely silly, one might hypothesize an analogous `ANSI
standard cup of tea' and wind up with a political situation
distressingly similar to several that arise in much more serious
technical contexts. Milk and lemon don't mix very well.

TechRef
======= /tek'ref/ [MS-DOS] n. The original "IBM PC
Technical Reference Manual", including the BIOS listing and
complete schematics for the PC. The only PC documentation in the
issue package that's considered serious by real hackers.
TECO
==== /tee'koh/ obs. 1. [originally an acronym for `[paper] Tape
Editor and COrrector'; later, `Text Editor and COrrector'] n. A
text editor developed at MIT and modified by just about everybody.
With all the dialects included, TECO may have been the most
prolific editor in use before EMACS, to which it was directly
ancestral. Noted for its powerful programming-language-like
features and its unspeakably hairy syntax. It is literally the
case that every string of characters is a valid TECO program
(though probably not a useful one); one common game used to be
mentally working out what the TECO commands corresponding to human
names did. 2. vt. Originally, to edit using the TECO editor in one
of its infinite variations (see below). 3. vt.,obs. To edit even
when TECO is *not* the editor being used! This usage is rare
and now primarily historical.

As an example of TECO's obscurity, here is a TECO program that
takes a list of names such as:

Loser, J. Random
Quux, The Great
Dick, Moby

sorts them alphabetically according to surname, and then puts the
surname last, removing the comma, to produce the following:

Moby Dick
J. Random Loser
The Great Quux

The program is

[1 J^P$L$$
J <.-Z; .,(S,$ -D .)FX1 @F^B $K :L I $ G1 L>$$

(where ^B means `Control-B' (ASCII 0000010) and $ is actually
an alt or escape (ASCII 0011011) character).

In fact, this very program was used to produce the second, sorted
list from the first list. The first hack at it had a bug: GLS
(the author) had accidentally omitted the `@' in front
of `F^B', which as anyone can see is clearly the Wrong Thing. It
worked fine the second time. There is no space to describe all the
features of TECO, but it may be of interest that `^P' means
`sort' and `J<.-Z; ... L>' is an idiomatic series of commands
for `do once for every line'.

In mid-1991, TECO is pretty much one with the dust of history,
having been replaced in the affections of hackerdom by EMACS.
Descendants of an early (and somewhat lobotomized) version adopted
by DEC can still be found lurking on VMS and a couple of crufty
PDP-11 operating systems, however, and ports of the more advanced
MIT versions remain the focus of some antiquarian interest. See
also retrocomputing, write-only language.

tee
=== n.,vt. [Purdue] A carbon copy of an electronic transmission.
"Oh, you're sending him the bits to that? Slap on a tee for
me." From the UNIX command `tee(1)', itself named after a
pipe fitting (see plumbing). Can also mean `save one for me',
as in "Tee a slice for me!" Also spelled `T'.
teledildonics
============= /tel`*-dil-do'-niks/ n. Sex in a computer
simulated virtual reality, esp. computer-mediated sexual
interaction between the VR presences of two humans. This
practice is not yet possible except in the rather limited form of
erotic conversation on MUDs and the like. The term, however,
is widely recognized in the VR community as a [ha ha only
serious} projection of things to come. "When we can sustain a
multi-sensory surround good enough for teledildonics, *then*
we'll know we're getting somewhere."
Telerat
======= /tel'*-rat/ n. Unflattering hackerism for `Teleray', a
line of extremely losing terminals. Compare AIDX,
Macintrash Nominal Semidestructor, Open DeathTrap,
ScumOS, sun-stools, HP-SUX.
TELNET
====== /tel'net/ vt. To communicate with another Internet host
using the TELNET (RFC 854) protocol (usually using a program
of the same name). TOPS-10 people used the word IMPCOM, since that
was the program name for them. Sometimes abbreviated to TN
/T-N/. "I usually TN over to SAIL just to read the AP News."
ten-finger interface
==================== n. The interface between two networks that
cannot be directly connected for security reasons; refers to the
practice of placing two terminals side by side and having an
operator read from one and type into the other.
tense
===== adj. Of programs, very clever and efficient. A tense piece
of code often got that way because it was highly bummed, but
sometimes it was just based on a great idea. A comment in a clever
routine by Mike Kazar, once a grad-student hacker at CMU: "This
routine is so tense it will bring tears to your eyes." A tense
programmer is one who produces tense code.
tenured graduate student
======================== n. One who has been in graduate school
for 10 years (the usual maximum is 5 or 6): a `ten-yeared'
student (get it?). Actually, this term may be used of any grad
student beginning in his seventh year. Students don't really get
tenure, of course, the way professors do, but a tenth-year graduate
student has probably been around the university longer than any
untenured professor.
tera-
===== /te'r*/ [SI] pref. See "quantifiers".
teraflop club
============= /te'r*-flop kluhb/ [FLOP = Floating Point
Operation] n. A mythical association of people who consume
outrageous amounts of computer time in order to produce a few
simple pictures of glass balls with intricate ray-tracing
techniques. Caltech professor James Kajiya is said to have been
the founder.
terminak
======== /ter'mi-nak`/ [Caltech, ca. 1979] n. Any
malfunctioning computer terminal. A common failure mode of
Lear-Siegler ADM 3a terminals caused the `L' key to produce the
`K' code instead; complaints about this tended to look like
"Terminak #3 has a bad keyboard. Pkease fix." See AIDX,
Nominal Semidestructor, Open DeathTrap, ScumOS,
sun-stools, Telerat, HP-SUX.
terminal brain death
==================== n. The extreme form of terminal illness
(sense 1). What someone who has obviously been hacking
continuously for far too long is said to be suffering from.
terminal illness
================ n. 1. Syn. raster burn. 2. The `burn-in'
condition your CRT tends to get if you don't have a screen saver.
terminal junkie
=============== [UK] n. A wannabee or early [larval
stage} hacker who spends most of his or her time wandering the
directory tree and writing noddy programs just to get a fix of
computer time. Variants include `terminal jockey', `console
junkie', and console jockey. The term `console jockey'
seems to imply more expertise than the other three (possibly
because of the exalted status of the "console" relative to an
ordinary terminal). See also twink, [read-only
user}.
terpri
====== /ter'pree/ [from LISP 1.5 (and later, MacLISP)] vi. To
output a newline. Now rare as jargon, though still used as
techspeak in Common LISP. It is a contraction of `TERminate PRInt
line', named for the fact that, on some early OSes and hardware, no
characters would be printed until a complete line was formed, so
this operation terminated the line and emitted the output.
test
==== n. 1. Real users bashing on a prototype long enough to get
thoroughly acquainted with it, with careful monitoring and followup
of the results. 2. Some bored random user trying a couple of the
simpler features with a developer looking over his or her shoulder,
ready to pounce on mistakes. Judging by the quality of most
software, the second definition is far more prevalent. See also
demo.
TeX
=== : /tekh/ n. An extremely powerful macro-based
text formatter written by Donald E. Knuth, very popular in the
computer-science community (it is good enough to have displaced
UNIX "troff", the other favored formatter, even at many
UNIX installations). TeX fans insist on the correct (guttural)
pronunciation, and the correct spelling (all caps, squished
together, with the E depressed below the baseline; the
mixed-case `TeX' is considered an acceptable kluge on ASCII-only
devices). Fans like to proliferate names from the word `TeX'
--- such as TeXnician (TeX user), TeXhacker (TeX
programmer), TeXmaster (competent TeX programmer), TeXhax,
and TeXnique.

Knuth began TeX because he had become annoyed at the declining
quality of the typesetting in volumes I--III of his monumental
"Art of Computer Programming" (see Knuth, also
bible). In a manifestation of the typical hackish urge to
solve the problem at hand once and for all, he began to design his
own typesetting language. He thought he would finish it on his
sabbatical in 1978; he was wrong by only about 8 years. The
language was finally frozen around 1985, but volume IV of "The
Art of Computer Programming" has yet to appear as of mid-1993. The
impact and influence of TeX's design has been such that nobody
minds this very much. Many grand hackish projects have started as
a bit of toolsmithing on the way to something else; Knuth's
diversion was simply on a grander scale than most.

TeX has also been a noteworthy example of free, shared, but
high-quality software. Knuth used to offer monetary awards to people
who found and reported bugs in it; as the years wore on and the few
remaining bugs were fixed (and new ones even harder to find), the
bribe went up. Though well-written, TeX is so large (and so full of
cutting edge technique) that it is said to have unearthed at least
one bug in every Pascal system it has been compiled with.

text
==== n. 1. [techspeak] Executable code, esp. a `pure code'
portion shared between multiple instances of a program running in a
multitasking OS. Compare English. 2. Textual material in the
mainstream sense; data in ordinary "ASCII" or "EBCDIC"
representation (see flat-ASCII). "Those are text files;
you can review them using the editor." These two contradictory
senses confuse hackers, too.
thanks in advance
================= [USENET] Conventional net.politeness ending a
posted request for information or assistance. Sometimes written
`advTHANKSance' or `aTdHvAaNnKcSe' or abbreviated `TIA'. See
net.-, netiquette.
That's not a bug, that's a feature!
=================================== The canonical first
parry in a debate about a purported bug. The complainant, if
unconvinced, is likely to retort that the bug is then at best a
misfeature. See also feature.
the X that can be Y is not the true X
===================================== Yet another instance of
hackerdom's peculiar attraction to mystical references --- a common
humorous way of making exclusive statements about a class of
things. The template is from the "Tao te Ching": "The
Tao which can be spoken of is not the true Tao." The implication
is often that the X is a mystery accessible only to the
enlightened. See the trampoline entry for an example, and
compare has the X nature.
theology
======== n. 1. Ironically or humorously used to refer to
religious issues. 2. Technical fine points of an abstruse
nature, esp. those where the resolution is of theoretical
interest but is relatively marginal with respect to actual use of
a design or system. Used esp. around software issues with a
heavy AI or language-design component, such as the smart-data vs.
smart-programs dispute in AI.
theory
====== n. The consensus, idea, plan, story, or set of rules that
is currently being used to inform a behavior. This usage is a
generalization and (deliberate) abuse of the technical meaning.
"What's the theory on fixing this TECO loss?" "What's the
theory on dinner tonight?" ("Chinatown, I guess.") "What's
the current theory on letting lusers on during the day?" "The
theory behind this change is to fix the following well-known
screw...."
thinko
====== /thing'koh/ [by analogy with `typo'] n. A momentary,
correctable glitch in mental processing, especially one involving
recall of information learned by rote; a bubble in the stream of
consciousness. Syn. braino; see also brain fart.
Compare mouso.
This can't happen
================= Less clipped variant of can't happen.
This time, for sure!
==================== excl. Ritual affirmation frequently uttered
during protracted debugging sessions involving numerous small
obstacles (e.g., attempts to bring up a UUCP connection). For the
proper effect, this must be uttered in a fruity imitation of
Bullwinkle J. Moose. Also heard: "Hey, Rocky! Watch me pull a
rabbit out of my hat!" The canonical response is, of course,
"But that trick *never* works!" See "Humor, Hacker".
thrash
====== vi. To move wildly or violently, without accomplishing
anything useful. Paging or swapping systems that are overloaded
waste most of their time moving data into and out of core (rather
than performing useful computation) and are therefore said to
thrash. Someone who keeps changing his mind (esp. about what to
work on next) is said to be thrashing. A person frantically trying
to execute too many tasks at once (and not spending enough time on
any single task) may also be described as thrashing. Compare
multitask.
thread
====== n. [USENET, GEnie, CompuServe] Common abbreviation of
`topic thread', a more or less continuous chain of postings on a
single topic. To `follow a thread' is to read a series of USENET
postings sharing a common subject or (more correctly) which are
connected by Reference headers. The better newsreaders can present
news in thread order automatically.
three-finger salute
=================== n. Syn. Vulcan nerve pinch.
thud
==== n. 1. Yet another metasyntactic variable (see foo).
It is reported that at CMU from the mid-1970s the canonical series of
these was `foo', `bar', `thud', `blat'. 2. Rare term
for the hash character, `#' (ASCII 0100011). See ASCII for
other synonyms.
thumb
===== n. The slider on a window-system scrollbar. So called
because moving it allows you to browse through the contents of a
text window in a way analogous to thumbing through a book.
thunk
===== /thuhnk/ n. 1. "A piece of coding which provides an
address", according to P. Z. Ingerman, who invented thunks
in 1961 as a way of binding actual parameters to their formal
definitions in Algol-60 procedure calls. If a procedure is called
with an expression in the place of a formal parameter, the compiler
generates a thunk which computes the expression and leaves the
address of the result in some standard location. 2. Later
generalized into: an expression, frozen together with its
environment, for later evaluation if and when needed (similar to
what in techspeak is called a `closure'). The process of
unfreezing these thunks is called `forcing'. 3. A
stubroutine, in an overlay programming environment, that loads
and jumps to the correct overlay. Compare trampoline.
4. People and activities scheduled in a thunklike manner. "It
occurred to me the other day that I am rather accurately modeled by
a thunk --- I frequently need to be forced to completion." ---
paraphrased from a plan file.

Historical note: There are a couple of onomatopoeic myths
circulating about the origin of this term. The most common is that
it is the sound made by data hitting the stack; another holds that
the sound is that of the data hitting an accumulator. Yet another
suggests that it is the sound of the expression being unfrozen at
argument-evaluation time. In fact, according to the inventors, it
was coined after they realized (in the wee hours after hours of
discussion) that the type of an argument in Algol-60 could be
figured out in advance with a little compile-time thought,
simplifying the evaluation machinery. In other words, it had
`already been thought of'; thus it was christened a `thunk',
which is "the past tense of `think' at two in the morning".

tick
==== n. 1. A jiffy (sense 1). 2. In simulations, the
discrete unit of time that passes between iterations of the
simulation mechanism. In AI applications, this amount of time is
often left unspecified, since the only constraint of interest is
the ordering of events. This sort of AI simulation is often
pejoratively referred to as `tick-tick-tick' simulation,
especially when the issue of simultaneity of events with long,
independent chains of causes is handwaved. 3. In the FORTH
language, a single quote character.
tick-list features
================== [Acorn Computers] n. Features in software or
hardware that customers insist on but never use (calculators in
desktop TSRs and that sort of thing). The American equivalent
would be `checklist features', but this jargon sense of the
phrase has not been reported.
tickle a bug
============ vt. To cause a normally hidden bug to manifest
itself through some known series of inputs or operations. "You
can tickle the bug in the Paradise VGA card's highlight handling by
trying to set bright yellow reverse video."
tiger team
========== [U.S. military jargon] n. 1. Originally, a team whose
purpose is to penetrate security, and thus test security measures.
These people are paid professionals who do hacker-type tricks,
e.g., leave cardboard signs saying "bomb" in critical defense
installations, hand-lettered notes saying "Your codebooks have
been stolen" (they usually haven't been) inside safes, etc. After
a successful penetration, some high-ranking security type shows up
the next morning for a `security review' and finds the sign,
note, etc., and all hell breaks loose. Serious successes of tiger
teams sometimes lead to early retirement for base commanders and
security officers (see the patch entry for an example).
2. Recently, and more generally, any official inspection team or
special firefighting group called in to look at a problem.

A subset of tiger teams are professional crackers, testing the
security of military computer installations by attempting remote
attacks via networks or supposedly `secure' comm channels. Some of
their escapades, if declassified, would probably rank among the
greatest hacks of all times. The term has been adopted in
commercial computer-security circles in this more specific sense.

time bomb
========= n. A subspecies of logic bomb that is triggered by
reaching some preset time, either once or periodically. There are
numerous legends about time bombs set up by programmers in their
employers' machines, to go off if the programmer is fired or laid
off and is not present to perform the appropriate suppressing
action periodically.

Interestingly, the only such incident for which we have been
pointed to documentary evidence took place in the Soviet Union in
1986! A disgruntled programmer at the Volga Automobile Plant
(where the Fiat clones called Ladas were manufactured) planted a
time bomb which, a week after he'd left on vacation, stopped the
entire main assembly line for a day. The case attracted lots of
attention in the Soviet Union because it was the first cracking
case to make it to court there. The perpetrator got 3 years in
jail.

time sink
========= [poss. by analogy with `heat sink' or `current sink'] n.
A project that consumes unbounded amounts of time.
time T
====== /ti:m T/ n. 1. An unspecified but usually well-understood
time, often used in conjunction with a later time T+1.
"We'll meet on campus at time T or at Louie's at
time T+1" means, in the context of going out for dinner:
"We can meet on campus and go to Louie's, or we can meet at Louie's
itself a bit later." (Louie's was a Chinese restaurant in Palo Alto
that was a favorite with hackers.) Had the number 30 been used instead
of the number 1, it would have implied that the travel time from
campus to Louie's is 30 minutes; whatever time T is (and
that hasn't been decided on yet), you can meet half an hour later at
Louie's than you could on campus and end up eating at the same time.
See also since time T equals minus infinity.
times-or-divided-by
=================== [by analogy with `plus-or-minus'] quant.
Term occasionally used when describing the uncertainty associated
with a scheduling estimate, for either humorous or brutally honest
effect. For a software project, the scheduling uncertainty factor
is usually at least 2.
tip of the ice-cube
=================== [IBM] n. The visible part of something small and
insignificant. Used as an ironic comment in situations where `tip
of the iceberg' might be appropriate if the subject were at all
important.
tired iron
========== [IBM] n. Hardware that is perfectly functional but
far enough behind the state of the art to have been superseded by new
products, presumably with sufficient improvement in bang-per-buck that
the old stuff is starting to look a bit like a dinosaur.
tits on a keyboard
================== n. Small bumps on certain keycaps to keep
touch-typists registered (usually on the `5' of a numeric
keypad, and on the `F' and `J' of a QWERTY keyboard;
but the Mac, perverse as usual, has them on the `D' and
`K' keys).
TLA
=== /T-L-A/ [Three-Letter Acronym] n. 1. Self-describing
abbreviation for a species with which computing terminology is
infested. 2. Any confusing acronym. Examples include MCA, FTP,
SNA, CPU, MMU, SCCS, DMU, FPU, NNTP, TLA. People who like this
looser usage argue that not all TLAs have three letters, just as
not all four-letter words have four letters. One also hears of
`ETLA' (Extended Three-Letter Acronym, pronounced /ee tee el
ay/) being used to describe four-letter acronyms. The term
`SFLA' (Stupid Four-Letter Acronym) has also been reported. See
also YABA.

The self-effacing phrase "TDM TLA" (Too Damn Many...) is
often used to bemoan the plethora of TLAs in use. In 1989, a
random of the journalistic persuasion asked hacker Paul Boutin
"What do you think will be the biggest problem in computing in
the 90s?" Paul's straight-faced response: "There are only
17,000 three-letter acronyms." (To be exact, there are 26^3
= 17,576.)

TMRC
==== /tmerk'/ n. The Tech Model Railroad Club at MIT, one of
the wellsprings of hacker culture. The 1959 "Dictionary of
the TMRC Language" compiled by Peter Samson included several terms
that became basics of the hackish vocabulary (see esp. foo,
mung, and frob).

By 1962, TMRC's legendary layout was already a marvel of complexity
(and has grown in the thirty years since; all the features
described here are still present). The control system alone
featured about 1200 relays. There were scram switches located
at numerous places around the room that could be thwacked if
something undesirable was about to occur, such as a train going
full-bore at an obstruction. Another feature of the system was a
digital clock on the dispatch board, which was itself something of
a wonder in those bygone days before cheap LEDS and seven-segment
displays. When someone hit a scram switch the clock stopped and
the display was replaced with the word `FOO'; at TMRC the scram
switches are therefore called `foo switches'.

Steven Levy, in his book "Hackers" (see the Bibliography in
Appendix C), gives a stimulating account of those early
years. TMRC's Power and Signals group included most of the early
PDP-1 hackers and the people who later bacame the core of the MIT
AI Lab staff. Thirty years later that connection is still very
much alive, and this lexicon accordingly includes a number of
entries from a recent revision of the TMRC dictionary.

TMRCie
====== /tmerk'ee/, [MIT] n. A denizen of TMRC.
to a first approximation
======================== 1. [techspeak] When one is doing certain
numerical computations, an approximate solution may be computed by
any of several heuristic methods, then refined to a final value.
By using the starting point of a first approximation of the answer,
one can write an algorithm that converges more quickly to the
correct result. 2. In jargon, a preface to any comment that
indicates that the comment is only approximately true. The remark
"To a first approximation, I feel good" might indicate that
deeper questioning would reveal that not all is perfect (e.g., a
nagging cough still remains after an illness).
to a zeroth approximation
========================= [from `to a first approximation'] A
*really* sloppy approximation; a wild guess. Compare
social science number.
toast
===== 1. n. Any completely inoperable system or component, esp.
one that has just crashed and burned: "Uh, oh ... I think the
serial board is toast." 2. vt. To cause a system to crash
accidentally, especially in a manner that requires manual
rebooting. "Rick just toasted the firewall machine again."
Compare fried.
toaster
======= n. 1. The archetypal really stupid application for an
embedded microprocessor controller; often used in comments that
imply that a scheme is inappropriate technology (but see
elevator controller). "DWIM for an assembler? That'd be
as silly as running UNIX on your toaster!" 2. A very, very dumb
computer. "You could run this program on any dumb toaster." See
bitty box, Get a real computer!, toy, beige toaster.
3. A Macintosh, esp. the Classic Mac. Some hold that this is
implied by sense 2. 4. A peripheral device. "I bought my box
without toasters, but since then I've added two boards and a second
disk drive."
toeprint
======== n. A footprint of especially small size.
toggle
====== vt. To change a bit from whatever state it is in to the
other state; to change from 1 to 0 or from 0 to 1. This comes from
`toggle switches', such as standard light switches, though the
word `toggle' actually refers to the mechanism that keeps the
switch in the position to which it is flipped rather than to the
fact that the switch has two positions. There are four things you
can do to a bit: set it (force it to be 1), clear (or zero) it,
leave it alone, or toggle it. (Mathematically, one would say that
there are four distinct boolean-valued functions of one boolean
argument, but saying that is much less fun than talking about
toggling bits.)
tool
==== 1. n. A program used primarily to create, manipulate,
modify, or analyze other programs, such as a compiler or an editor
or a cross-referencing program. Oppose app, [operating
system}. 2. [UNIX] An application program with a simple,
`transparent' (typically text-stream) interface designed
specifically to be used in programmed combination with other tools
(see filter, plumbing). 3. [MIT: general to students
there] vi. To work; to study (connotes tedium). The TMRC
Dictionary defined this as "to set one's brain to the
grindstone". See hack. 4. [MIT] n. A student who studies
too much and hacks too little. (MIT's student humor magazine
rejoices in the name "Tool and Die".)
toolsmith
========= n. The software equivalent of a tool-and-die
specialist; one who specializes in making the tools with which
other programmers create applications. Many hackers consider this
more fun than applications per se; to understand why, see
uninteresting. Jon Bentley, in the "Bumper-Sticker Computer
Science" chapter of his book "More Programming Pearls",
quotes Dick Sites from DEC as saying "I'd rather write programs to
write programs than write programs".
topic drift
=========== n. Term used on GEnie, USENET and other electronic
fora to describe the tendency of a thread to drift away from
the original subject of discussion (and thus, from the Subject
header of the originating message), or the results of that
tendency. Often used in gentle reminders that the discussion has
strayed off any useful track. "I think we started with a question
about Niven's last book, but we've ended up discussing the sexual
habits of the common marmoset. Now *that's* topic drift!"
topic group
=========== n. Syn. forum.
TOPS-10
======= : /tops-ten/ n. DEC's proprietary OS for the fabled PDP-10
machines, long a favorite of hackers but now effectively extinct.
A fountain of hacker folklore; see Appendix A. See also "ITS",
"TOPS-20", "TWENEX", VMS, operating system. TOPS-10 was
sometimes called BOTS-10 (from `bottoms-ten') as a comment on the
inappropriateness of describing it as the top of anything.
TOPS-20
======= : /tops-twen'tee/ n. See "TWENEX".
toto
==== /toh-toh'/ n. Reportedy the default scratch file name
among French-speaking programmers --- in other words, a francophone
foo. It is reported that the phonetic mutations "titi",
"tata", and "tutu" canonically follow `toto', analogously to
bar, baz and quux in English.
tourist
======= [ITS] n. A guest on the system, especially one who
generally logs in over a network from a remote location for [comm
mode}, email, games, and other trivial purposes. One step below
luser. Hackers often spell this turist, perhaps by
some sort of tenuous analogy with luser (this also expresses the
ITS culture's penchant for six-letterisms). Compare twink,
read-only user.
tourist information
=================== n. Information in an on-line display that is
not immediately useful, but contributes to a viewer's gestalt of
what's going on with the software or hardware behind it. Whether a
given piece of info falls in this category depends partly on what
the user is looking for at any given time. The `bytes free'
information at the bottom of an MS-DOS `dir' display is
tourist information; so (most of the time) is the TIME information
in a UNIX `ps(1)' display.
touristic
========= adj. Having the quality of a tourist. Often used
as a pejorative, as in `losing touristic scum'. Often spelled
`turistic' or `turistik', so that phrase might be more properly
rendered `lusing turistic scum'.
toy
=== n. A computer system; always used with qualifiers.
1. `nice toy': One that supports the speaker's hacking style
adequately. 2. `just a toy': A machine that yields
insufficient computrons for the speaker's preferred uses. This
is not condemnatory, as is bitty box; toys can at least be fun.
It is also strongly conditioned by one's expectations; Cray XMP
users sometimes consider the Cray-1 a `toy', and certainly all RISC
boxes and mainframes are toys by their standards. See also [Get
a real computer!}.
toy language
============ n. A language useful for instructional purposes or
as a proof-of-concept for some aspect of computer-science theory,
but inadequate for general-purpose programming. Bad Things
can result when a toy language is promoted as a general purpose
solution for programming (see [bondage-and-discipline
language}); the classic example is "Pascal". Several moderately
well-known formalisms for conceptual tasks such as programming Turing
machines also qualify as toy languages in a less negative sense.
See also MFTL.
toy problem
=========== [AI] n. A deliberately oversimplified case of a
challenging problem used to investigate, prototype, or test
algorithms for a real problem. Sometimes used pejoratively. See
also gedanken, toy program.
toy program
=========== n. 1. One that can be readily comprehended; hence, a
trivial program (compare noddy). 2. One for which the effort
of initial coding dominates the costs through its life cycle.
See also noddy.
trampoline
========== n. An incredibly hairy technique, found in some
HLL and program-overlay implementations (e.g., on the
Macintosh), that involves on-the-fly generation of small executable
(and, likely as not, self-modifying) code objects to do indirection
between code sections. These pieces of live data are called
`trampolines'. Trampolines are notoriously difficult to understand
in action; in fact, it is said by those who use this term that the
trampoline that doesn't bend your brain is not the true
trampoline. See also snap.
trap
==== 1. n. A program interrupt, usually an interrupt caused by
some exceptional situation in the user program. In most cases, the
OS performs some action, then returns control to the program.
2. vi. To cause a trap. "These instructions trap to the
monitor." Also used transitively to indicate the cause of the
trap. "The monitor traps all input/output instructions."

This term is associated with assembler programming (`interrupt'
or `exception' is more common among HLL programmers) and
appears to be fading into history among programmers as the role of
assembler continues to shrink. However, it is still important to
computer architects and systems hackers (see system,
sense 1), who use it to distinguish deterministically repeatable
exceptions from timing-dependent ones (such as I/O interrupts).

trap door
========= alt. `trapdoor' n. 1. Syn. back door --- a
Bad Thing. 2. [techspeak] A `trap-door function' is one
which is easy to compute but very difficult to compute the inverse
of. Such functions are Good Things with important
applications in cryptography, specifically in the construction of
public-key cryptosystems.
trash
===== vt. To destroy the contents of (said of a data structure).
The most common of the family of near-synonyms including mung,
mangle, and scribble.
trawl
===== v. To sift through large volumes of data (e.g., USENET
postings, FTP archives, or the Jargon File) looking for something
of interest.
tree-killer
=========== [Sun] n. 1. A printer. 2. A person who wastes
paper. This epithet should be interpreted in a broad sense;
`wasting paper' includes the production of spiffy but
content-free documents. Thus, most suits are
tree-killers. The negative loading of this term may reflect the
epithet `tree-killer' applied by Treebeard the Ent to the Orcs
in J.R.R. Tolkien's "Lord of the Rings" (see also
elvish, elder days).
treeware
======== /tree'weir/ n. Printouts, books, and other information
media made from pulped dead trees. Compare tree-killer, see
documentation.
trit
==== /trit/ [by analogy with `bit'] n. One base-3 digit; the
amount of information conveyed by a selection among one of three
equally likely outcomes (see also bit). Trits arise, for
example, in the context of a flag that should actually be able
to assume *three* values --- such as yes, no, or unknown. Trits are
sometimes jokingly called `3-state bits'. A trit may be
semi-seriously referred to as `a bit and a half', although it is
linearly equivalent to 1.5849625 bits (that is,
log2(3)
bits).
trivial
======= adj. 1. Too simple to bother detailing. 2. Not worth the
speaker's time. 3. Complex, but solvable by methods so well known
that anyone not utterly cretinous would have thought of them
already. 4. Any problem one has already solved (some claim that
hackish `trivial' usually evaluates to `I've seen it before').
Hackers' notions of triviality may be quite at variance with those
of non-hackers. See nontrivial, uninteresting.
troff
===== : /T'rof/ or /trof/ [UNIX] n. The gray eminence of UNIX
text processing; a formatting and phototypesetting program, written
originally in PDP-11 assembler and then in barely-structured early
C by the late Joseph Ossanna, modeled after the earlier ROFF which
was in turn modeled after Multics' RUNOFF by Jerome Saltzer
(*that* name came from the expression "to run off a copy"). A
companion program, nroff, formats output for terminals and
line printers.

In 1979, Brian Kernighan modified `troff' so that it could
drive phototypesetters other than the Graphic Systems CAT. His
paper describing that work ("A Typesetter-independent troff,"
AT&T CSTR #97) explains troff's durability. After discussing the
program's "obvious deficiencies --- a rebarbative input syntax,
mysterious and undocumented properties in some areas, and a
voracious appetite for computer resources" and noting the ugliness
and extreme hairiness of the code and internals, Kernighan
concludes:

None of these remarks should be taken as denigrating
Ossanna's accomplishment with TROFF. It has proven a
remarkably robust tool, taking unbelievable abuse from a
variety of preprocessors and being forced into uses that
were never conceived of in the original design, all with
considerable grace under fire.

The success of "TeX" and desktop publishing systems have
reduced `troff''s relative importance, but this tribute
perfectly captures the strengths that secured `troff' a place
in hacker folklore; indeed, it could be taken more generally as an
indication of those qualities of good programs that, in the long
run, hackers most admire.

troglodyte
========== [Commodore] n. 1. A hacker who never leaves his
cubicle. The term `Gnoll' (from Dungeons & Dragons) is also
reported. 2. A curmudgeon attached to an obsolescent computing
environment. The combination `ITS troglodyte' was flung around
some during the USENET and email wringle-wrangle attending the
2.x.x revision of the Jargon File; at least one of the people it
was intended to describe adopted it with pride.
troglodyte mode
=============== [Rice University] n. Programming with the lights
turned off, sunglasses on, and the terminal inverted (black on
white) because you've been up for so many days straight that your
eyes hurt (see raster burn). Loud music blaring from a stereo
stacked in the corner is optional but recommended. See [larval
stage}, hack mode.
Trojan horse
============ [coined by MIT-hacker-turned-NSA-spook Dan Edwards]
n. A malicious, security-breaking program that is disguised as
something benign, such as a directory lister, archiver, game, or
(in one notorious 1990 case on the Mac) a program to find and
destroy viruses! See back door, virus, worm,
phage, mockingbird.
tron
==== [NRL, CMU; prob. fr. the movie "Tron"] v. To become
inaccessible except via email or `talk(1)', especially when
one is normally available via telephone or in person. Frequently
used in the past tense, as in: "Ran seems to have tronned on us
this week" or "Gee, Ran, glad you were able to un-tron
yourself". One may also speak of `tron mode'; compare
spod.
true-hacker
=========== [analogy with `trufan' from SF fandom] n. One who
exemplifies the primary values of hacker culture, esp. competence
and helpfulness to other hackers. A high compliment. "He spent
6 hours helping me bring up UUCP and netnews on my FOOBAR 4000
last week --- manifestly the act of a true-hacker." Compare
demigod, oppose munchkin.
tty
=== /T-T-Y/ [UNIX], /tit'ee/ [ITS, but some UNIX people say it
this way as well; this pronunciation is not considered to have
sexual undertones] n. 1. A terminal of the teletype variety,
characterized by a noisy mechanical printer, a very limited
character set, and poor print quality. Usage: antiquated (like the
TTYs themselves). See also bit-paired keyboard.
2. [especially UNIX] Any terminal at all; sometimes used to refer
to the particular terminal controlling a given job. 3. [UNIX] Any
serial port, whether or not the device connected to it is a
terminal; so called because under UNIX such devices have names of
the form tty*. Ambiguity between senses 2 and 3 is common but
seldom bothersome.
tube
==== 1. n. A CRT terminal. Never used in the mainstream sense of
TV; real hackers don't watch TV, except for Loony Toons, Rocky &
Bullwinkle, Trek Classic, the Simpsons, and the occasional cheesy
old swashbuckler movie (see Appendix B). 2. [IBM] To send
a copy of something to someone else's terminal. "Tube me that
note?"
tube time
========= n. Time spent at a terminal or console. More inclusive
than hacking time; commonly used in discussions of what parts of
one's environment one uses most heavily. "I find I'm spending too
much of my tube time reading mail since I started this revision."
tunafish
======== n. In hackish lore, refers to the mutated punchline of
an age-old joke to be found at the bottom of the manual pages of
`tunefs(8)' in the original BSD 4.2 distribution. The
joke was removed in later releases once commercial sites started
using 4.2. Tunefs relates to the `tuning' of file-system
parameters for optimum performance, and at the bottom of a few
pages of wizardly inscriptions was a `BUGS' section consisting of
the line "You can tune a file system, but you can't tunafish".
Variants of this can be seen in other BSD versions, though it has
been excised from some versions by humorless management
droids. The [nt]roff source for SunOS 4.1.1 contains a
comment apparently designed to prevent this: "Take this out and a
Unix Demon will dog your steps from now until the `time_t''s
wrap around."
tune
==== [from automotive or musical usage] vt. To optimize a program
or system for a particular environment, esp. by adjusting numerical
parameters designed as hooks for tuning, e.g., by changing
`#define' lines in C. One may `tune for time' (fastest
execution), `tune for space' (least memory use), or
`tune for configuration' (most efficient use of hardware). See
bum, hot spot, hand-hacking.
turbo nerd
========== n. See computer geek.
Turing tar-pit
============== n. 1. A place where anything is possible but
nothing of interest is practical. Alan Turing helped lay the
foundations of computer science by showing that all machines and
languages capable of expressing a certain very primitive set of
operations are logically equivalent in the kinds of computations
they can carry out, and in principle have capabilities that differ
only in speed from those of the most powerful and elegantly
designed computers. However, no machine or language exactly
matching Turing's primitive set has ever been built (other than
possibly as a classroom exercise), because it would be horribly
slow and far too painful to use. A `Turing tar-pit' is any
computer language or other tool that shares this property. That
is, it's theoretically universal --- but in practice, the harder
you struggle to get any real work done, the deeper its inadequacies
suck you in. Compare bondage-and-discipline language. 2. The
perennial holy wars over whether language A or B is the "most
powerful".
turist
====== /too'rist/ n. Var. sp. of tourist, q.v. Also in
adjectival form, `turistic'. Poss. influenced by luser and
`Turing'.
tweak
===== vt. 1. To change slightly, usually in reference to a
value. Also used synonymously with twiddle. If a program is
almost correct, rather than figure out the precise problem you
might just keep tweaking it until it works. See frobnicate
and fudge factor; also see shotgun debugging. 2. To
tune or bum a program; preferred usage in the U.K.
tweeter
======= [University of Waterloo] n. Syn. perf, chad
(sense 1). This term (like woofer) has been in use at
Waterloo since 1972 but is elsewhere unknown. In audio jargon, the
word refers to the treble speaker(s) on a hi-fi.
TWENEX
====== : /twe'neks/ n. The TOPS-20 operating system by DEC ---
the second proprietary OS for the PDP-10 --- preferred by most
PDP-10 hackers over TOPS-10 (that is, by those who were not
"ITS" or "WAITS" partisans). TOPS-20 began in 1969 as Bolt,
Beranek & Newman's TENEX operating system using special paging
hardware. By the early 1970s, almost all of the systems on the
ARPANET ran TENEX. DEC purchased the rights to TENEX from BBN and
began work to make it their own. The first in-house code name for
the operating system was VIROS (VIRtual memory Operating System);
when customers started asking questions, the name was changed to
SNARK so DEC could truthfully deny that there was any project
called VIROS. When the name SNARK became known, the name was
briefly reversed to become KRANS; this was quickly abandoned when
someone objected that `krans' meant `funeral wreath' in Swedish
(though some Swedish speakers have since said it means simply
`wreath'; this part of the story may be apocryphal). Ultimately
DEC picked TOPS-20 as the name of the operating system, and it was
as TOPS-20 that it was marketed. The hacker community, mindful of
its origins, quickly dubbed it TWENEX (a contraction of `twenty
TENEX'), even though by this point very little of the original
TENEX code remained (analogously to the differences between AT&T V6
UNIX and BSD). DEC people cringed when they heard "TWENEX", but
the term caught on nevertheless (the written abbreviation `20x'
was also used). TWENEX was successful and very popular; in fact,
there was a period in the early 1980s when it commanded as fervent
a culture of partisans as UNIX or ITS --- but DEC's decision to
scrap all the internal rivals to the VAX architecture and its
relatively stodgy VMS OS killed the DEC-20 and put a sad end to
TWENEX's brief day in the sun. DEC attempted to convince TOPS-20
users to convert to VMS, but instead, by the late 1980s,
most of the TOPS-20 hackers had migrated to UNIX.
twiddle
======= n. 1. Tilde (ASCII 1111110, `~'). Also
called `squiggle', `sqiggle' (sic --- pronounced /skig'l/),
and `twaddle', but twiddle is the most common term. 2. A small
and insignificant change to a program. Usually fixes one bug and
generates several new ones (see also shotgun debugging).
3. vt. To change something in a small way. Bits, for example, are
often twiddled. Twiddling a switch or knob implies much less sense
of purpose than toggling or tweaking it; see frobnicate. To
speak of twiddling a bit connotes aimlessness, and at best doesn't
specify what you're doing to the bit; `toggling a bit' has a more
specific meaning (see bit twiddling, toggle).
twilight zone
============= [IRC] n. Notionally, the area of cyberspace where IRC
operators live. An op is said to have a "connection to the
twilight zone".

twink
===== /twink/ [UCSC] n. Equivalent to read-only user.
Also reported on the USENET group soc.motss; may derive from
gay slang for a cute young thing with nothing upstairs (compare
mainstream `chick').
twirling baton
============== [PLATO] n. The overstrike sequence -/|\-/|\- which
produces an animated twirling baton. If you output it with a
single backspace between characters, the baton spins in place. If
you output the sequence BS SP between characters, the baton spins
from left to right. If you output BS SP BS BS between characters,
the batton spins from right to left.

The twirling baton was a popular component of animated signature
files on the pioneering PLATO educational timesharing system. The
`archie' Internet service is perhaps the best-known baton
program today; it uses the twirling baton as an idler indicating
that the program is working on a query.

two pi
====== quant. The number of years it takes to finish one's
thesis. Occurs in stories in the following form: "He started on
his thesis; 2 pi years later..."
two-to-the-N
============ quant. An amount much larger than N but smaller
than infinity. "I have 2-to-the-N things to do before I can
go out for lunch" means you probably won't show up.
twonkie
======= /twon'kee/ n. The software equivalent of a Twinkie (a
variety of sugar-loaded junk food, or (in gay slang) the male
equivalent of `chick'); a useless `feature' added to look sexy
and placate a marketroid (compare [Saturday-night
special}). The term may also be related to "The Twonky",
title menace of a classic SF short story by Lewis Padgett (Henry
Kuttner and C. L. Moore), first published in the September 1942
"Astounding Science Fiction" and subsequently much
anthologized.