= T = ===== 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}. 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)) `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 for 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 `B4N' -- Bye for now. `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 `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 `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: `UOK?' -- are you OK? `THX' thanks (mutant of `TNX'; clearly this comes in batches of 1138 (the Lucasian K)). `CU l8er' -- see you later (mutant of `CU l8tr') `OTT' -- over the top (excessive, uncalled for) Some {BIFF}isms (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}, {bonk/oif}. 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. 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' 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. 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. vt. Originally, to edit using the TECO editor in one of its infinite variations (see below). 2. vt.,obs. To edit even when TECO is *not* the editor being used! This usage is rare and now primarily historical. 2. [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 might 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 hacker game used to be mentally working out what the TECO commands corresponding to human names did. 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'. Telerat: /tel'*-rat/ n. Unflattering hackerism for `Teleray', a line of extremely losing terminals. See also {terminak}, {sun-stools}, {HP-SUX}. TELNET: /tel'net/ vt. To communicate with another Internet host using the {TELNET} program. 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 {bum}med, 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 {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 early OSes, 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(1)', 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 {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-1991. 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 tool-building on the way to something else; Knuth's diversion was simply on a grander scale than most. 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}. 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 is a generalization and 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}. Compare {mouso}. 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. three-finger salute: n. Syn. {Vulcan nerve pinch}. thud: n. 1. Yet another meta-syntactic 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. 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} to compute the expression and leave 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 holds 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 {handwave}d. 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 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. 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). A subset of tiger teams are professional {cracker}s, 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 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 is a Chinese restaurant in Palo Alto that is 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 factor is usually at least 2. tinycrud: /ti:'nee-kruhd/ n. A pejorative used by habitues of older game-oriented {MUD} versions for TinyMUDs and other user-extensible {MUD} variants; esp. common among users of the rather violent and competitive AberMUD and MIST systems. These people justify the slur on the basis of how (allegedly) inconsistent and lacking in genuine atmosphere the scenarios generated in user extensible MUDs can be. Other common knocks on them are that they feature little overall plot, bad game topology, little competitive interaction, etc. --- not to mention the alleged horrors of the TinyMUD code itself. This dispute is one of the MUD world's hardiest perennial {holy wars}. 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 actually nontrivial. 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). TLA: /T-L-A/ [Three-Letter Acronym] n. 1. Self-describing acronym 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 which became basics of the hackish vocabulary (see esp. {foo} and {frob}). By 1962, TMRC's legendary layout was already a marvel of complexity. The control system alone featured about 1200 relays. There were {scram switch}es located at numerous places around the room that could be pressed 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. Normally it ran at some multiple of real time, but if someone hit a scram switch the clock stopped and the display was replaced with the word `FOO'. Steven Levy, in his book `Hackers' (see the Bibliography), 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. 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." 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}). 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 {tool}s with which other programmers create applications. See also {uninteresting}. 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. This is reported to be the default scratch file name among French-speaking programmers --- in other words, a francophone {foo}. 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 {computron}s 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 Thing}s 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}. 2. [techspeak] A `trap-door function' is one which is easy to compute but very difficult to compute the inverse of. Such functions have 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}. tree-killer: [Sun] n. 1. A printer. 2. A person who wastes paper. This should be interpreted in a broad sense; `wasting paper' includes the production of {spiffy} but {content-free} documents. Thus, most {suit}s are tree-killers. 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}). These 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}. 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 program designed to break security or damage a system that is disguised as something else benign, such as a directory lister, archiver, a game, or (in one notorious 1990 case on the Mac) a program to find and destroy viruses! See {back door}, {virus}, {worm}. 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. 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 developing in 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 {droid}s. 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 {hook}s 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}. 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. 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 it was discovered that `krans' meant `funeral shroud' in Swedish. 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 hackers 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. 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}). 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. 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}). This 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.