The Jargon File, Version 4.2.2, 20 Aug 2000
Chapter 54
Hackers adopted this term early, but many have stopped using it since it went completely mainstream around 1995. The passive, couch-potato connotations that go with TV channel surfing were never pleasant, and hearing non-hackers wax enthusiastic about "surfing the net" tends to make hackers feel a bit as though their home is being overrun by ignorami.
Node:Suzie COBOL, Next:swab, Previous:surf, Up:= S =
Suzie COBOL /soo'zee koh'bol/
1. [IBM: prob. from Frank Zappa's `Suzy Creamcheese'] n. A coder straight out of training school who knows everything except the value of comments in plain English. Also (fashionable among personkind wishing to avoid accusations of sexism) `Sammy Cobol' or (in some non-IBM circles) `Cobol Charlie'. 2. [proposed] Meta-name for any code grinder, analogous to J. Random Hacker.
Node:swab, Next:swap, Previous:Suzie COBOL, Up:= S =
swab /swob/
[From the mnemonic for the PDP-11 `SWAp Byte' instruction, as immortalized in the dd(1) option conv=swab (see dd)] 1. vt. To solve the NUXI problem by swapping bytes in a file. 2. n. The program in V7 Unix used to perform this action, or anything functionally equivalent to it. See also big-endian, little-endian, middle-endian, bytesexual.
Node:swap, Next:swap space, Previous:swab, Up:= S =
swap vt.
1. [techspeak] To move information from a fast-access memory to a slow-access memory (`swap out'), or vice versa (`swap in'). Often refers specifically to the use of disks as `virtual memory'. As pieces of data or program are needed, they are swapped into core for processing; when they are no longer needed they may be swapped out again. 2. The jargon use of these terms analogizes people's short-term memories with core. Cramming for an exam might be spoken of as swapping in. If you temporarily forget someone's name, but then remember it, your excuse is that it was swapped out. To `keep something swapped in' means to keep it fresh in your memory: "I reread the TECO manual every few months to keep it swapped in." If someone interrupts you just as you got a good idea, you might say "Wait a moment while I swap this out", implying that a piece of paper is your extra-somatic memory and that if you don't swap the idea out by writing it down it will get overwritten and lost as you talk. Compare page in, page out.
Node:swap space, Next:swapped in, Previous:swap, Up:= S =
swap space n.
Storage space, especially temporary storage space used during a move or reconfiguration. "I'm just using that corner of the machine room for swap space."
Node:swapped in, Next:swapped out, Previous:swap space, Up:= S =
swapped in n.
See swap. See also page in.
Node:swapped out, Next:swizzle, Previous:swapped in, Up:= S =
swapped out n.
See swap. See also page out.
Node:swizzle, Next:sync, Previous:swapped out, Up:= S =
swizzle v.
To convert external names, array indices, or references within a data structure into address pointers when the data structure is brought into main memory from external storage (also called `pointer swizzling'); this may be done for speed in chasing references or to simplify code (e.g., by turning lots of name lookups into pointer dereferences). The converse operation is sometimes termed `unswizzling'. See also snap.
Node:sync, Next:syntactic salt, Previous:swizzle, Up:= S =
sync /sink/ n., vi.
(var. `synch') 1. To synchronize, to bring into synchronization. 2. [techspeak] To force all pending I/O to the disk; see flush, sense 2. 3. More generally, to force a number of competing processes or agents to a state that would be `safe' if the system were to crash; thus, to checkpoint (in the database-theory sense).
Node:syntactic salt, Next:syntactic sugar, Previous:sync, Up:= S =
syntactic salt n.
The opposite of syntactic sugar, a feature designed to make it harder to write bad code. Specifically, syntactic salt is a hoop the programmer must jump through just to prove that he knows what's going on, rather than to express a program action. Some programmers consider required type declarations to be syntactic salt. A requirement to write end if, end while, end do, etc. to terminate the last block controlled by a control construct (as opposed to just end) would definitely be syntactic salt. Syntactic salt is like the real thing in that it tends to raise hackers' blood pressures in an unhealthy way. Compare candygrammar.
Node:syntactic sugar, Next:sys-frog, Previous:syntactic salt, Up:= S =
syntactic sugar n.
[coined by Peter Landin] Features added to a language or other formalism to make it `sweeter' for humans, features which do not affect the expressiveness of the formalism (compare chrome). Used esp. when there is an obvious and trivial translation of the `sugar' feature into other constructs already present in the notation. C's a[i] notation is syntactic sugar for *(a + i). "Syntactic sugar causes cancer of the semicolon." -- Alan Perlis.
The variants `syntactic saccharin' and `syntactic syrup' are also recorded. These denote something even more gratuitous, in that syntactic sugar serves a purpose (making something more acceptable to humans), but syntactic saccharin or syrup serve no purpose at all. Compare candygrammar, syntactic salt.
Node:sys-frog, Next:sysadmin, Previous:syntactic sugar, Up:= S =
sys-frog /sis'frog/ n.
[the PLATO system] Playful variant of `sysprog', which is in turn short for `systems programmer'.
Node:sysadmin, Next:sysape, Previous:sys-frog, Up:= S =
sysadmin /sis'ad-min/ n.
Common contraction of `system admin'; see admin.
Node:sysape, Next:sysop, Previous:sysadmin, Up:= S =
sysape /sys'ayp/ n.
A rather derogatory term for a computer operator; a play on sysop common at sites that use the banana hierarchy of problem complexity (see one-banana problem).
Node:sysop, Next:system, Previous:sysape, Up:= S =
sysop /sis'op/ n.
[esp. in the BBS world] The operator (and usually the owner) of a bulletin-board system. A common neophyte mistake on FidoNet is to address a message to `sysop' in an international echo, thus sending it to hundreds of sysops around the world.
Node:system, Next:systems jock, Previous:sysop, Up:= S =
system n.
1. The supervisor program or OS on a computer. 2. The entire computer system, including input/output devices, the supervisor program or OS, and possibly other software. 3. Any large-scale program. 4. Any method or algorithm. 5. `System hacker': one who hacks the system (in senses 1 and 2 only; for sense 3 one mentions the particular program: e.g., `LISP hacker')
Node:systems jock, Next:system mangler, Previous:system, Up:= S =
systems jock n.
See jock, sense 2.
Node:system mangler, Next:SysVile, Previous:systems jock, Up:= S =
system mangler n.
Humorous synonym for `system manager', poss. from the fact that one major IBM OS had a root account called SYSMANGR. Refers specifically to a systems programmer in charge of administration, software maintenance, and updates at some site. Unlike admin, this term emphasizes the technical end of the skills involved.
Node:SysVile, Next:T, Previous:system mangler, Up:= S =
SysVile /sis-vi:l'/ n.
See Missed'em-five.
Node:= T =, Next:= U =, Previous:= S =, Up:The Jargon Lexicon
= T =
T:
tail recursion:
talk mode:
talker system:
tall card:
tanked:
TANSTAAFL:
tape monkey:
tar and feather:
tarball:
tardegy:
taste:
tayste:
TCB:
TCP/IP:
TechRef:
TECO:
tee:
teergrube:
teledildonics:
Telerat:
TELNET:
ten-finger interface:
tense:
tentacle:
tenured graduate student:
tera-:
teraflop club:
terminak:
terminal brain death:
terminal illness:
terminal junkie:
terpri:
test:
TeX:
text:
thanks in advance:
That's not a bug that's a feature!:
the literature:
the network:
the X that can be Y is not the true X:
theology:
theory:
thinko:
This can't happen:
This time for sure!:
thrash:
thread:
three-finger salute:
throwaway account:
thud:
thumb:
thundering herd problem:
thunk:
tick:
tick-list features:
tickle a bug:
tiger team:
time bomb:
time sink:
time T:
times-or-divided-by:
TINC:
Tinkerbell program:
TINLC:
tip of the ice-cube:
tired iron:
tits on a keyboard:
TLA:
(TM):
TMRC:
TMRCie:
TMTOWTDI:
to a first approximation:
to a zeroth approximation:
toad:
toast:
toaster:
toeprint:
toggle:
tool:
toolsmith:
toor:
topic drift:
topic group:
TOPS-10:
TOPS-20:
tourist:
tourist information:
touristic:
toy:
toy language:
toy problem:
toy program:
trampoline:
trap:
trap door:
trash:
trawl:
tree-killer:
treeware:
trit:
trivial:
troff:
troglodyte:
troglodyte mode:
Trojan horse:
troll:
Troll-O-Meter:
tron:
true-hacker:
tty:
tube:
tube time:
tunafish:
tune:
turbo nerd:
Turing tar-pit:
turist:
Tux:
tweak:
tweeter:
TWENEX:
twiddle:
twiddle:
twilight zone:
twink:
twirling baton:
two pi:
two-to-the-N:
twonkie:
Node:T, Next:tail recursion, Previous:SysVile, Up:= 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 Lisp 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 absently respond `T', meaning that he wants coffee; but of course he will be brought a cup of tea instead. Fortunately, 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. (There is an intended allusion to NIL, "New Implementation of Lisp", another dialect of Lisp developed for the VAX)
Node:tail recursion, Next:talk mode, Previous:T, Up:= T =
tail recursion n.
If you aren't sick of it already, see tail recursion.
Node:talk mode, Next:talker system, Previous:tail recursion, Up:= T =
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.
AFAIAC
as far as I am concerned
AFAIK
as far as I know
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)
IIRC
if I recall correctly
JAM
just a minute (equivalent to SEC....)
MIN
same as JAM
NIL
no (see NIL)
NP
no problem
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
OTOH
on the other hand
R U THERE?
are you there?
SEC
wait a second (sometimes written SEC...)
SYN
Are you busy? (expects ACK, SYN|ACK, or RST in return; this is modeled on the TCP/IP handshake sequence)
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
<gd&r>
grinning, ducking, and running
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 B1FFisms (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.
Node:talker system, Next:tall card, Previous:talk mode, Up:= T =
talker system n.
British hackerism for software that enables real-time chat or talk mode.
Node:tall card, Next:tanked, Previous:talker system, Up:= T =
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.
Node:tanked, Next:TANSTAAFL, Previous:tall card, Up:= T =
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.
Node:TANSTAAFL, Next:tape monkey, Previous:tanked, Up:= T =
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 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 for discussion).
Node:tape monkey, Next:tar and feather, Previous:TANSTAAFL, Up:= T =
tape monkey n.
A junior system administrator, one who might plausibly be assigned to do physical swapping of tapes and subsequent storage. When a backup needs to be restored, one might holler "Tape monkey!" (Compare one-banana problem) Also used to dismiss jobs not worthy of a highly trained sysadmin's ineffable talents: "Cable up her PC? You must be joking - I'm no tape monkey."
Node:tar and feather, Next:tarball, Previous:tape monkey, Up:= T =
tar and feather vi.
[from Unix tar(1)] 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. Compare the more common tarball.
Node:tarball, Next:tardegy, Previous:tar and feather, Up:= T =
tarball n.
[very common; prob. based on the "tar baby" in the Uncle Remus folk tales] An archive, created with the Unix tar(1) utility, containing myriad related files. "Here, I'll just ftp you a tarball of the whole project." Tarballs have been the standard way to ship around source-code distributions since the mid-1980s; in retrospect it seems odd that this term did not enter common usage until the late 1990s.
Node:tardegy, Next:taste, Previous:tarball, Up:= T =
tardegy
n. [deliberate mangling of `tragedy'] An incident in which someone who clearly deserves to be selected out of the gene pool on grounds of extreme stupidity meets with a messy end. Coined on the Darwin list, which is dedicated to chronicling such incidents; but almost all hackers would instantly recognize the intention of the term and laugh.
Node:taste, Next:tayste, Previous:tardegy, Up:= T =
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 `tasty' 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'. The marked sense of flavor is more popular than `taste', though both are widely used. See also elegant. 2. Alt. sp. of tayste.
Node:tayste, Next:TCB, Previous:taste, Up:= T =
tayste /tayst/
n. Two bits; also as taste. Syn. crumb, quarter. See nybble.
Node:TCB, Next:TCP/IP, Previous:tayste, Up:= T =
TCB /T-C-B/ n.
[IBM] 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.
Node:TCP/IP, Next:TechRef, Previous:TCB, Up:= T =
TCP/IP /T'C-P I'P/ n.
1. [Transmission Control Protocol/Internet Protocol] The wide-area-networking protocol that makes the Internet work, and the only one most hackers can speak the name of without laughing or retching. Unlike such allegedly `standard' competitors such as X.25, DECnet, and the ISO 7-layer stack, TCP/IP evolved primarily by actually being used, rather than being handed down from on high by a vendor or a heavily-politicized standards committee. Consequently, it (a) works, (b) actually promotes cheap cross-platform connectivity, and (c) annoys the hell out of corporate and governmental empire-builders everywhere. Hackers value all three of these properties. See creationism. 2. [Amateur Packet Radio] Formerly expanded as "The Crap Phil Is Pushing". The reference is to Phil Karn, KA9Q, and the context was an ongoing technical/political war between the majority of sites still running AX.25 and the TCP/IP relays. TCP/IP won.
Node:TechRef, Next:TECO, Previous:TCP/IP, Up:= T =
TechRef /tek'ref/ n.
[MS-DOS] The original "IBM PC Technical Reference Manual", including the BIOS listing and complete schematics for the PC. The only PC documentation in the original-issue package that was considered serious by real hackers.
Node:TECO, Next:tee, Previous:TechRef, Up:= T =
TECO /tee'koh/ n.,v. 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'.