Postscript
pound on:
power cycle:
power hit:
PPN:
pr0n:
precedence lossage:
prepend:
prestidigitization:
pretty pictures:
prettyprint:
pretzel key:
priesthood:
prime time:
print:
printing discussion:
priority interrupt:
profile:
progasm:
proggy:
proglet:
program:
Programmer's Cheer:
programming:
programming fluid:
propeller head:
propeller key:
proprietary:
protocol:
provocative maintenance:
prowler:
pseudo:
pseudoprime:
pseudosuit:
psychedelicware:
psyton:
pubic directory:
puff:
pumpkin holder:
pumpking:
punched card:
punt:
Purple Book:
purple wire:
push:
Python:
Node:P-mail, Next:P.O.D., Previous:overrun screw, Up:= P =
P-mail n.
[rare] Physical mail, as opposed to email. Synonymous with snail-mail, but much less common.
Node:P.O.D., Next:packet over air, Previous:P-mail, Up:= P =
P.O.D. /P-O-D/
[rare] Acronym for `Piece Of Data' (as opposed to a code section). See also pod.
Node:packet over air, Next:padded cell, Previous:P.O.D., Up:= P =
packet over air
[common among backbone ISPs] The protocol notionally being used by Internet data attempting to traverse a physical gap or break in the network, such as might be caused by a fiber-seeking backhoe. "I see why you're dropping packets. You seem to have a packet over air problem.
Node:padded cell, Next:page in, Previous:packet over air, Up:= P =
padded cell n.
Where you put lusers so they can't hurt anything. A program that limits a luser to a carefully restricted subset of the capabilities of the host system (for example, the rsh(1) utility on USG Unix). Note that this is different from an iron box because it is overt and not aimed at enforcing security so much as protecting others (and the luser) from the consequences of the luser's boundless naivete (see naive). Also `padded cell environment'.
Node:page in, Next:page out, Previous:padded cell, Up:= P =
page in v.
[MIT] 1. To become aware of one's surroundings again after having paged out (see page out). Usually confined to the sarcastic comment: "Eric pages in, film at 11!" 2. Syn. `swap in'; see swap.
Node:page out, Next:pain in the net, Previous:page in, Up:= P =
page out vi.
[MIT] 1. To become unaware of one's surroundings temporarily, due to daydreaming or preoccupation. "Can you repeat that? I paged out for a minute." See page in. Compare glitch, thinko. 2. Syn. `swap out'; see swap.
Node:pain in the net, Next:Pangloss parity, Previous:page out, Up:= P =
pain in the net n.
A flamer.
Node:Pangloss parity, Next:paper-net, Previous:pain in the net, Up:= P =
Pangloss parity n.
[from Dr. Pangloss, the eternal optimist in Voltaire's "Candide"] In corporate DP shops, a common condition of severe but equally shared lossage resulting from the theory that as long as everyone in the organization has the exactly the same model of obsolete computer, everything will be fine.
Node:paper-net, Next:param, Previous:Pangloss parity, Up:= P =
paper-net n.
Hackish way of referring to the postal service, analogizing it to a very slow, low-reliability network. Usenet sig blocks sometimes include a "Paper-Net:" header just before the sender's postal address; common variants of this are "Papernet" and "P-Net". Note that the standard netiquette guidelines discourage this practice as a waste of bandwidth, since netters are quite unlikely to casually use postal addresses. Compare voice-net, snail-mail, P-mail.
Node:param, Next:PARC, Previous:paper-net, Up:= P =
param /p*-ram'/ n.
[common] Shorthand for `parameter'. See also parm; compare arg, var.
Node:PARC, Next:parent message, Previous:param, Up:= P =
PARC n.
See XEROX PARC.
Node:parent message, Next:parity errors, Previous:PARC, Up:= P =
parent message n.
What a followup follows up.
Node:parity errors, Next:Parkinson's Law of Data, Previous:parent message, Up:= P =
parity errors pl.n.
Little lapses of attention or (in more severe cases) consciousness, usually brought on by having spent all night and most of the next day hacking. "I need to go home and crash; I'm starting to get a lot of parity errors." Derives from a relatively common but nearly always correctable transient error in memory hardware. It predates RAM; in fact, this term is reported to have already have been in use in its jargoin sense back in the 1960s when magnetic cores ruled. Parity errors can also afflict mass storage and serial communication lines; this is more serious because not always correctable.
Node:Parkinson's Law of Data, Next:parm, Previous:parity errors, Up:= P =
Parkinson's Law of Data prov.
"Data expands to fill the space available for storage"; buying more memory encourages the use of more memory-intensive techniques. It has been observed since the mid-1980s that the memory usage of evolving systems tends to double roughly once every 18 months. Fortunately, memory density available for constant dollars also tends to about double once every 18 months (see Moore's Law); unfortunately, the laws of physics guarantee that the latter cannot continue indefinitely.
Node:parm, Next:parse, Previous:Parkinson's Law of Data, Up:= P =
parm /parm/ n.
Further-compressed form of param. This term is an IBMism, and written use is almost unknown outside IBM shops; spoken /parm/ is more widely distributed, but the synonym arg is favored among hackers. Compare arg, var.
Node:parse, Next:Pascal, Previous:parm, Up:= P =
parse [from linguistic terminology] vt.
1. To determine the syntactic structure of a sentence or other utterance (close to the standard English meaning). "That was the one I saw you." "I can't parse that." 2. More generally, to understand or comprehend. "It's very simple; you just kretch the glims and then aos the zotz." "I can't parse that." 3. Of fish, to have to remove the bones yourself. "I object to parsing fish", means "I don't want to get a whole fish, but a sliced one is okay". A `parsed fish' has been deboned. There is some controversy over whether `unparsed' should mean `bony', or also mean `deboned'.
Node:Pascal, Next:pastie, Previous:parse, Up:= P =
Pascal n.
An Algol-descended language designed by Niklaus Wirth on the CDC 6600 around 1967-68 as an instructional tool for elementary programming. This language, designed primarily to keep students from shooting themselves in the foot and thus extremely restrictive from a general-purpose-programming point of view, was later promoted as a general-purpose tool and, in fact, became the ancestor of a large family of languages including Modula-2 and Ada (see also bondage-and-discipline language). The hackish point of view on Pascal was probably best summed up by a devastating (and, in its deadpan way, screamingly funny) 1981 paper by Brian Kernighan (of K&R fame) entitled "Why Pascal is Not My Favorite Programming Language", which was turned down by the technical journals but circulated widely via photocopies. It was eventually published in "Comparing and Assessing Programming Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall, 1984). Part of his discussion is worth repeating here, because its criticisms are still apposite to Pascal itself after ten years of improvement and could also stand as an indictment of many other bondage-and-discipline languages. At the end of a summary of the case against Pascal, Kernighan wrote:
9. There is no escape
This last point is perhaps the most important. The language is inadequate but circumscribed, because there is no way to escape its limitations. There are no casts to disable the type-checking when necessary. There is no way to replace the defective run-time environment with a sensible one, unless one controls the compiler that defines the "standard procedures". The language is closed.
People who use Pascal for serious programming fall into a fatal trap. Because the language is impotent, it must be extended. But each group extends Pascal in its own direction, to make it look like whatever language they really want. Extensions for separate compilation, FORTRAN-like COMMON, string data types, internal static variables, initialization, octal numbers, bit operators, etc., all add to the utility of the language for one group but destroy its portability to others.
I feel that it is a mistake to use Pascal for anything much beyond its original target. In its pure form, Pascal is a toy language, suitable for teaching but not for real programming.
Pascal has since been almost entirely displaced (by C) from the niches it had acquired in serious applications and systems programming, but retains some popularity as a hobbyist language in the MS-DOS and Macintosh worlds.
Node:pastie, Next:patch, Previous:Pascal, Up:= P =
pastie /pay'stee/ n.
An adhesive-backed label designed to be attached to a key on a keyboard to indicate some non-standard character which can be accessed through that key. Pasties are likely to be used in APL environments, where almost every key is associated with a special character. A pastie on the R key, for example, might remind the user that it is used to generate the rho character. The term properly refers to nipple-concealing devices formerly worn by strippers in concession to indecent-exposure laws; compare tits on a keyboard.
Node:patch, Next:patch pumpkin, Previous:pastie, Up:= P =
patch
1. n. A temporary addition to a piece of code, usually as a quick-and-dirty remedy to an existing bug or misfeature. A patch may or may not work, and may or may not eventually be incorporated permanently into the program. Distinguished from a diff or mod by the fact that a patch is generated by more primitive means than the rest of the program; the classical examples are instructions modified by using the front panel switches, and changes made directly to the binary executable of a program originally written in an HLL. Compare one-line fix. 2. vt. To insert a patch into a piece of code. 3. [in the Unix world] n. A diff (sense 2). 4. A set of modifications to binaries to be applied by a patching program. IBM operating systems often receive updates to the operating system in the form of absolute hexadecimal patches. If you have modified your OS, you have to disassemble these back to the source. The patches might later be corrected by other patches on top of them (patches were said to "grow scar tissue"). The result was often a convoluted patch space and headaches galore. 5. [Unix] the patch(1) program, written by Larry Wall, which automatically applies a patch (sense 3) to a set of source code.
There is a classic story of a tiger team penetrating a secure military computer that illustrates the danger inherent in binary patches (or, indeed, any patches that you can't -- or don't -- inspect and examine before installing). They couldn't find any trap doors or any way to penetrate security of IBM's OS, so they made a site visit to an IBM office (remember, these were official military types who were purportedly on official business), swiped some IBM stationery, and created a fake patch. The patch was actually the trapdoor they needed. The patch was distributed at about the right time for an IBM patch, had official stationery and all accompanying documentation, and was dutifully installed. The installation manager very shortly thereafter learned something about proper procedures.
Node:patch pumpkin, Next:patch space, Previous:patch, Up:= P =
patch pumpkin n.
[Perl hackers] A notional token passed around among the members of a project. Possession of the patch pumpkin means one has the exclusive authority to make changes on the project's master source tree. The implicit assumption is that `pumpkin holder' status is temporary and rotates periodically among senior project members.
This term comes from the Perl development community, but has been sighted elsewhere. It derives from a stuffed-toy pumpkin that was passed around at a development shop years ago as the access control for a shared backup-tape drive.
Node:patch space, Next:path, Previous:patch pumpkin, Up:= P =
patch space n.
An unused block of bits left in a binary so that it can later be modified by insertion of machine-language instructions there (typically, the patch space is modified to contain new code, and the superseded code is patched to contain a jump or call to the patch space). The near-universal use of compilers and interpreters has made this term rare; it is now primarily historical outside IBM shops. See patch (sense 4), zap (sense 4), hook.
Node:path, Next:pathological, Previous:patch space, Up:= P =
path n.
1. A bang path or explicitly routed Internet address; a node-by-node specification of a link between two machines. Though these are now obsolete as a form of addressing, they still show up in diagnostics and trace headers ocvcasionally (e.g. in NNTP headers). 2. [Unix] A filename, fully specified relative to the root directory (as opposed to relative to the current directory; the latter is sometimes called a `relative path'). This is also called a `pathname'. 3. [Unix and MS-DOS] The `search path', an environment variable specifying the directories in which the shell (COMMAND.COM, under MS-DOS) should look for commands. Other, similar constructs abound under Unix (for example, the C preprocessor has a `search path' it uses in looking for #include files).
Node:pathological, Next:payware, Previous:path, Up:= P =
pathological adj.
1. [scientific computation] Used of a data set that is grossly atypical of normal expected input, esp. one that exposes a weakness or bug in whatever algorithm one is using. An algorithm that can be broken by pathological inputs may still be useful if such inputs are very unlikely to occur in practice. 2. When used of test input, implies that it was purposefully engineered as a worst case. The implication in both senses is that the data is spectacularly ill-conditioned or that someone had to explicitly set out to break the algorithm in order to come up with such a crazy example. 3. Also said of an unlikely collection of circumstances. "If the network is down and comes up halfway through the execution of that command by root, the system may just crash." "Yes, but that's a pathological case." Often used to dismiss the case from discussion, with the implication that the consequences are acceptable, since they will happen so infrequently (if at all) that it doesn't seem worth going to the extra trouble to handle that case (see sense 1).
Node:payware, Next:PBD, Previous:pathological, Up:= P =
payware /pay'weir/ n.
Commercial software. Oppose shareware or freeware.
Node:PBD, Next:PC-ism, Previous:payware, Up:= P =
PBD /P-B-D/ n.
[abbrev. of `Programmer Brain Damage'] Applied to bug reports revealing places where the program was obviously broken by an incompetent or short-sighted programmer. Compare UBD; see also brain-damaged.
Node:PC-ism, Next:PD, Previous:PBD, Up:= P =
PC-ism /P-C-izm/ n.
A piece of code or coding technique that takes advantage of the unprotected single-tasking environment in IBM PCs and the like running DOS, e.g., by busy-waiting on a hardware register, direct diddling of screen memory, or using hard timing loops. Compare ill-behaved, vaxism, unixism. Also, `PC-ware' n., a program full of PC-isms on a machine with a more capable operating system. Pejorative.
Node:PD, Next:PDL, Previous:PC-ism, Up:= P =
PD /P-D/ adj.
[common] Abbreviation for `public domain', applied to software distributed over Usenet and from Internet archive sites. Much of this software is not in fact public domain in the legal sense but travels under various copyrights granting reproduction and use rights to anyone who can snarf a copy. See copyleft.
Node:PDL, Next:PDP-10, Previous:PD, Up:= P =
PDL /P-D-L/, /pid'l/, /p*d'l/ or /puhd'l/
1. n. `Program Design Language'. Any of a large class of formal and profoundly useless pseudo-languages in which management forces one to design programs. Too often, management expects PDL descriptions to be maintained in parallel with the code, imposing massive overhead to little or no benefit. See also flowchart. 2. v. To design using a program design language. "I've been pdling so long my eyes won't focus beyond 2 feet." 3. n. `Page Description Language'. Refers to any language which is used to control a graphics device, usually a laserprinter. The most common example is, of course, Adobe's PostScript language, but there are many others, such as Xerox InterPress, etc. 4. In ITS days, the preferred MITism for stack. See overflow pdl. 5. Dave Lebling, one of the co-authors of Zork; (his network address on the ITS machines was at one time pdl@dms).
Node:PDP-10, Next:PDP-20, Previous:PDL, Up:= P =
PDP-10 n.
[Programmed Data Processor model 10] The machine that made timesharing real. It looms large in hacker folklore because of its adoption in the mid-1970s by many university computing facilities and research labs, including the MIT AI Lab, Stanford, and CMU. Some aspects of the instruction set (most notably the bit-field instructions) are still considered unsurpassed. The 10 was eventually eclipsed by the VAX machines (descendants of the PDP-11) when DEC recognized that the 10 and VAX product lines were competing with each other and decided to concentrate its software development effort on the more profitable VAX. The machine was finally dropped from DEC's line in 1983, following the failure of the Jupiter Project at DEC to build a viable new model. (Some attempts by other companies to market clones came to nothing; see Foonly and Mars.) This event spelled the doom of ITS and the technical cultures that had spawned the original Jargon File, but by mid-1991 it had become something of a badge of honorable old-timerhood among hackers to have cut one's teeth on a PDP-10. See TOPS-10, ITS, BLT, DDT, DPB, EXCH, HAKMEM, LDB, pop, push. See also http://www.inwap.com/pdp10/.
Node:PDP-20, Next:PEBKAC, Previous:PDP-10, Up:= P =
PDP-20 n.
The most famous computer that never was. PDP-10 computers running the TOPS-10 operating system were labeled `DECsystem-10' as a way of differentiating them from the PDP-11. Later on, those systems running TOPS-20 were labeled `DECSYSTEM-20' (the block capitals being the result of a lawsuit brought against DEC by Singer, which once made a computer called `system-10'), but contrary to popular lore there was never a `PDP-20'; the only difference between a 10 and a 20 was the operating system and the color of the paint. Most (but not all) machines sold to run TOPS-10 were painted `Basil Blue', whereas most TOPS-20 machines were painted `Chinese Red' (often mistakenly called orange).
Node:PEBKAC, Next:peek, Previous:PDP-20, Up:= P =
PEBKAC /peb'kak/
[Abbrev., "Problem Exists Between Keyboard And Chair"] Used by support people, particularly at call centers and help desks. Not used with the public. Denotes pilot error as the cause of the crash, especially stupid errors that even a luser could figure out. Very derogatory. Usage: "Did you ever figure out why that guy couldn't print?" "Yeah, he kept cancelling the operation before it could finish. PEBKAC."
Node:peek, Next:pencil and paper, Previous:PEBKAC, Up:= P =
peek n.,vt.
(and poke) The commands in most microcomputer BASICs for directly accessing memory contents at an absolute address; often extended to mean the corresponding constructs in any HLL (peek reads memory, poke modifies it). Much hacking on small, non-MMU micros used to consist of `peek'ing around memory, more or less at random, to find the location where the system keeps interesting stuff. Long (and variably accurate) lists of such addresses for various computers circulated (see interrupt list). The results of `poke's at these addresses may be highly useful, mildly amusing, useless but neat, or (most likely) total lossage (see killer poke).
Since a real operating system provides useful, higher-level services for the tasks commonly performed with peeks and pokes on micros, and real languages tend not to encourage low-level memory groveling, a question like "How do I do a peek in C?" is diagnostic of the newbie. (Of course, OS kernels often have to do exactly this; a real kernel hacker would unhesitatingly, if unportably, assign an absolute address to a pointer variable and indirect through it.)
Node:pencil and paper, Next:Pentagram Pro, Previous:peek, Up:= P =
pencil and paper n.
An archaic information storage and transmission device that works by depositing smears of graphite on bleached wood pulp. More recent developments in paper-based technology include improved `write-once' update devices which use tiny rolling heads similar to mouse balls to deposit colored pigment. All these devices require an operator skilled at so-called `handwriting' technique. These technologies are ubiquitous outside hackerdom, but nearly forgotten inside it. Most hackers had terrible handwriting to begin with, and years of keyboarding tend to have encouraged it to degrade further. Perhaps for this reason, hackers deprecate pencil-and-paper technology and often resist using it in any but the most trivial contexts.
Node:Pentagram Pro, Next:Pentium, Previous:pencil and paper, Up:= P =
Pentagram Pro n.
A humorous corruption of "Pentium Pro", with a Satanic reference, implying that the chip is inherently evil. Often used with "666 MHz"; there is a T-shirt. See Pentium
Node:Pentium, Next:peon, Previous:Pentagram Pro, Up:= P =
Pentium n.
The name given to Intel's P5 chip, the successor to the 80486. The name was chosen because of difficulties Intel had in trademarking a number. It suggests the number five (implying 586) while (according to Intel) conveying a meaning of strength "like titanium". Among hackers, the plural is frequently `pentia'. See also Pentagram Pro.
Intel did not stick to this convention when naming its P6 processor the Pentium Pro; many believe this is due to difficulties in selling a chip with "sex" in its name. Successor chips have been called `Pentium II' and `Pentium III'.
Node:peon, Next:percent-S, Previous:Pentium, Up:= P =
peon n.
A person with no special (root or wheel) privileges on a computer system. "I can't create an account on foovax for you; I'm only a peon there."
Node:percent-S, Next:perf, Previous:peon, Up:= P =
percent-S /per-sent' es'/ n.
[From the code in C's printf(3) library function used to insert an arbitrary string argument] An unspecified person or object. "I was just talking to some percent-s in administration." Compare random.
Node:perf, Next:perfect programmer syndrome, Previous:percent-S, Up:= P =
perf /perf/ n.
Syn. chad (sense 1). The term `perfory' /per'f*-ree/ is also heard. The term perf may also refer to the perforations themselves, rather than the chad they produce when torn (philatelists use it this way).
Node:perfect programmer syndrome, Next:Perl, Previous:perf, Up:= P =
perfect programmer syndrome n.
Arrogance; the egotistical conviction that one is above normal human error. Most frequently found among programmers of some native ability but relatively little experience (especially new graduates; their perceptions may be distorted by a history of excellent performance at solving toy problems). "Of course my program is correct, there is no need to test it." "Yes, I can see there may be a problem here, but I'll never type rm -r / while in root mode."
Node:Perl, Next:person of no account, Previous:perfect programmer syndrome, Up:= P =
Perl /perl/ n.
[Practical Extraction and Report Language, a.k.a. Pathologically Eclectic Rubbish Lister] An interpreted language developed by Larry Wall (author of patch(1) and rn(1)) and distributed over Usenet. Superficially resembles awk, but is much hairier, including many facilities reminiscent of sed(1) and shells and a comprehensive Unix system-call interface. Unix sysadmins, who are almost always incorrigible hackers, generally consider it one of the languages of choice, and it is by far the most widely used tool for making `live' web pages via CGI. Perl has been described, in a parody of a famous remark about lex(1), as the "Swiss-Army chainsaw" of Unix programming. Though Perl is very useful, it would be a stretch to describe it as pretty or elegant; people who like clean, spare design generally prefer Python. See also Camel Book, TMTOWTDI.
Node:person of no account, Next:pessimal, Previous:Perl, Up:= P =
person of no account n.
[University of California at Santa Cruz] Used when referring to a person with no network address, frequently to forestall confusion. Most often as part of an introduction: "This is Bill, a person of no account, but he used to be bill@random.com". Compare return from the dead.
Node:pessimal, Next:pessimizing compiler, Previous:person of no account, Up:= P =
pessimal /pes'im-l/ adj.
[Latin-based antonym for `optimal'] Maximally bad. "This is a pessimal situation." Also `pessimize' vt. To make as bad as possible. These words are the obvious Latin-based antonyms for `optimal' and `optimize', but for some reason they do not appear in most English dictionaries, although `pessimize' is listed in the OED.
Node:pessimizing compiler, Next:peta-, Previous:pessimal, Up:= P =
pessimizing compiler /pes'*-mi:z`ing k*m-pi:l'r/ n.
A compiler that produces object [antonym of techspeak `optimizing compiler'] code that is worse than the straightforward or obvious hand translation. The implication is that the compiler is actually trying to optimize the program, but through excessive cleverness is doing the opposite. A few pessimizing compilers have been written on purpose, however, as pranks or burlesques.
Node:peta-, Next:PETSCII, Previous:pessimizing compiler, Up:= P =
peta- /pe't*/ pref
[SI] See quantifiers.
Node:PETSCII, Next:PFY, Previous:peta-, Up:= P =
PETSCII /pet'skee/ n. obs.
[abbreviation of PET ASCII] The variation (many would say perversion) of the ASCII character set used by the Commodore Business Machines PET series of personal computers and the later Commodore C64, C16, C128, and VIC20 machines. The PETSCII set used left-arrow and up-arrow (as in old-style ASCII) instead of underscore and caret, placed the unshifted alphabet at positions 65-90, put the shifted alphabet at positions 193-218, and added graphics characters.
Node:PFY, Next:phage, Previous:PETSCII, Up:= P =
PFY n.
[Usenet; common] Abbreviation for `Pimply-Faced Youth'. A BOFH in training, esp. one apprenticed to an elder BOFH aged in evil.
Node:phage, Next:phase, Previous:PFY, Up:= P =
phage n.
A program that modifies other programs or databases in unauthorized ways; esp. one that propagates a virus or Trojan horse. See also worm, mockingbird. The analogy, of course, is with phage viruses in biology.
Node:phase, Next:phase of the moon, Previous:phage, Up:= P =
phase
1. n. The offset of one's waking-sleeping schedule with respect to the standard 24-hour cycle; a useful concept among people who often work at night and/or according to no fixed schedule. It is not uncommon to change one's phase by as much as 6 hours per day on a regular basis. "What's your phase?" "I've been getting in about 8 P.M. lately, but I'm going to wrap around to the day schedule by Friday." A person who is roughly 12 hours out of phase is sometimes said to be in `night mode'. (The term `day mode' is also (but less frequently) used, meaning you're working 9 to 5 (or, more likely, 10 to 6).) The act of altering one's cycle is called `changing phase'; `phase shifting' has also been recently reported from Caltech. 2. `change phase the hard way': To stay awake for a very long time in order to get into a different phase. 3. `change phase the easy way': To stay asleep, etc. However, some claim that either staying awake longer or sleeping longer is easy, and that it is shortening your day or night that is really hard (see wrap around). The `jet lag' that afflicts travelers who cross many time-zone boundaries may be attributed to two distinct causes: the strain of travel per se, and the strain of changing phase. Hackers who suddenly find that they must change phase drastically in a short period of time, particularly the hard way, experience something very like jet lag without traveling.
Node:phase of the moon, Next:phase-wrapping, Previous:phase, Up:= P =
phase of the moon n.
Used humorously as a random parameter on which something is said to depend. Sometimes implies unreliability of whatever is dependent, or that reliability seems to be dependent on conditions nobody has been able to determine. "This feature depends on having the channel open in mumble mode, having the foo switch set, and on the phase of the moon." See also heisenbug.
True story: Once upon a time there was a program bug that really did depend on the phase of the moon. There was a little subroutine that had traditionally been used in various programs at MIT to calculate an approximation to the moon's true phase. GLS incorporated this routine into a LISP program that, when it wrote out a file, would print a timestamp line almost 80 characters long. Very occasionally the first line of the message would be too long and would overflow onto the next line, and when the file was later read back in the program would barf. The length of the first line depended on both the precise date and time and the length of the phase specification when the timestamp was printed, and so the bug literally depended on the phase of the moon!
The first paper edition of the Jargon File (Steele-1983) included an example of one of the timestamp lines that exhibited this bug, but the typesetter `corrected' it. This has since been described as the phase-of-the-moon-bug bug.
However, beware of assumptions. A few years ago, engineers of CERN (European Center for Nuclear Research) were baffled by some errors in experiments conducted with the LEP particle accelerator. As the formidable amount of data generated by such devices is heavily processed by computers before being seen by humans, many people suggested the software was somehow sensitive to the phase of the moon. A few desperate engineers discovered the truth; the error turned out to be the result of a tiny change in the geometry of the 27km circumference ring, physically caused by the deformation of the Earth by the passage of the Moon! This story has entered physics folklore as a Newtonian vengeance on particle physics and as an example of the relevance of the simplest and oldest physical laws to the most modern science.
Node:phase-wrapping, Next:PHB, Previous:phase of the moon, Up:= P =
phase-wrapping n.
[MIT] Syn. wrap around, sense 2.
Node:PHB, Next:phreaker, Previous:phase-wrapping, Up:= P =
PHB /P-H-B/
[Usenet; common; rarely spoken] Abbreviation, "Pointy-Haired Boss". From the Dilbert character, the archetypal halfwitted middle-management type. See also pointy-haired.
Node:phreaker, Next:phreaking, Previous:PHB, Up:= P =
phreaker /freek'r/ n.
One who engages in phreaking. See also blue box.
Node:phreaking, Next:pico-, Previous:phreaker, Up:= P =
phreaking /freek'ing/ n.
[from `phone phreak'] 1. The art and science of cracking the phone network (so as, for example, to make free long-distance calls). 2. By extension, security-cracking in any other context (especially, but not exclusively, on communications networks) (see cracking).
At one time phreaking was a semi-respectable activity among hackers; there was a gentleman's agreement that phreaking as an intellectual game and a form of exploration was OK, but serious theft of services was taboo. There was significant crossover between the hacker community and the hard-core phone phreaks who ran semi-underground networks of their own through such media as the legendary "TAP Newsletter". This ethos began to break down in the mid-1980s as wider dissemination of the techniques put them in the hands of less responsible phreaks. Around the same time, changes in the phone network made old-style technical ingenuity less effective as a way of hacking it, so phreaking came to depend more on overtly criminal acts such as stealing phone-card numbers. The crimes and punishments of gangs like the `414 group' turned that game very ugly. A few old-time hackers still phreak casually just to keep their hand in, but most these days have hardly even heard of `blue boxes' or any of the other paraphernalia of the great phreaks of yore.
Node:pico-, Next:pig-tail, Previous:phreaking, Up:= P =
pico- pref.
[SI: a quantifier meaning * 10^-12] Smaller than nano-; used in the same rather loose connotative way as nano- and micro-. This usage is not yet common in the way nano- and micro- are, but should be instantly recognizable to any hacker. See also quantifiers, micro-.
Node:pig-tail, Next:pilot error, Previous:pico-, Up:= P =
pig-tail
[radio hams] A short piece of cable with two connectors on each end for converting between one connector type and another. Common pig-tails are 9-to-25-pin serial-port converters and cables to connect PCMCIA network cards to an RJ-45 network cable.
Node:pilot error, Next:ping, Previous:pig-tail, Up:= P =
pilot error n.
[Sun: from aviation] A user's misconfiguration or misuse of a piece of software, producing apparently buglike results (compare UBD). "Joe Luser reported a bug in sendmail that causes it to generate bogus headers." "That's not a bug, that's pilot error. His sendmail.cf is hosed."
Node:ping, Next:Ping O' Death, Previous:pilot error, Up:= P =
ping
[from the submariners' term for a sonar pulse] 1. n. Slang term for a small network message (ICMP ECHO) sent by a computer to check for the presence and alertness of another. The Unix command ping(8) can be used to do this manually (note that ping(8)'s author denies the widespread folk etymology that the name was ever intended as acronym for `Packet INternet Groper'). Occasionally used as a phone greeting. See ACK, also ENQ. 2. vt. To verify the presence of. 3. vt. To get the attention of. 4. vt. To send a message to all members of a mailing list requesting an ACK (in order to verify that everybody's addresses are reachable). "We haven't heard much of anything from Geoff, but he did respond with an ACK both times I pinged jargon-friends." 5. n. A quantum packet of happiness. People who are very happy tend to exude pings; furthermore, one can intentionally create pings and aim them at a needy party (e.g., a depressed person). This sense of ping may appear as an exclamation; "Ping!" (I'm happy; I am emitting a quantum of happiness; I have been struck by a quantum of happiness). The form "pingfulness", which is used to describe people who exude pings, also occurs. (In the standard abuse of language, "pingfulness" can also be used as an exclamation, in which case it's a much stronger exclamation than just "ping"!). Oppose blargh.
The funniest use of `ping' to date was described in January 1991 by Steve Hayman on the Usenet group comp.sys.next. He was trying to isolate a faulty cable segment on a TCP/IP Ethernet hooked up to a NeXT machine, and got tired of having to run back to his console after each cabling tweak to see if the ping packets were getting through. So he used the sound-recording feature on the NeXT, then wrote a script that repeatedly invoked ping(8), listened for an echo, and played back the recording on each returned packet. Result? A program that caused the machine to repeat, over and over, "Ping ... ping ... ping ..." as long as the network was up. He turned the volume to maximum, ferreted through the building with one ear cocked, and found a faulty tee connector in no time.
Node:Ping O' Death, Next:ping storm, Previous:ping, Up:= P =
Ping O' Death n.
A notorious exploit that (when first discovered) could be easily used to crash a wide variety of machines by overunning size limits in their TCP/IP stacks. First revealed in late 1996. The open-source Unix community patched its systems to remove the vulnerability within days or weeks, the closed-source OS vendors generally took months. While the difference in response times repeated a pattern familiar from other security incidents, the accompanying glare of Web-fueled publicity proved unusually embarrassing to the OS vendors and so passed into history and myth. The term is now used to refer to any nudge delivered by network wizards over the network that causes bad things to happen on the system being nudged. For the full story on the original exploit, see http://www.insecure.org/sploits/ping-o-death.html.
Compare with 'kamikaze packet,' 'Finger of Death' and 'Chernobyl packet.'
Node:ping storm, Next:pink wire, Previous:Ping O' Death, Up:= P =
ping storm n.
A form of DoS attack consisting of a flood of ping requests (normally used to check network conditions) designed to disrupt the normal activity of a system. This act is sometimes called `ping lashing' or `ping flood'. Compare mail storm, broadcast storm.
Node:pink wire, Next:pipe, Previous:ping storm, Up:= P =
pink wire n.
[from the pink PTFE wire used in military equipment] As blue wire, but used in military applications. 2. vi. To add a pink wire to a board.
Node:pipe, Next:pistol, Previous:pink wire, Up:= P =
pipe n.
[common] Idiomatically, one's connection to the Internet; in context, the expansion "bit pipe" is understood. A "fat pipe" is a line with T1 or higher capacity. A person with a 28.8 modem might be heard to complain "I need a bigger pipe".
Node:pistol, Next:pixel sort, Previous:pipe, Up:= P =
pistol n.
[IBM] A tool that makes it all too easy for you to shoot yourself in the foot. "Unix rm * makes such a nice pistol!"
Node:pixel sort, Next:pizza box, Previous:pistol, Up:= P =
pixel sort n.
[Commodore users] Any compression routine which irretrievably loses valuable data in the process of crunching it. Disparagingly used for `lossy' methods such as JPEG. The theory, of course, is that these methods are only used on photographic images in which minor loss-of-data is not visible to the human eye. The term `pixel sort' implies distrust of this theory. Compare bogo-sort.
Node:pizza box, Next:plaid screen, Previous:pixel sort, Up:= P =
pizza box n.
[Sun] The largish thin box housing the electronics in (especially Sun) desktop workstations, so named because of its size and shape and the dimpled pattern that looks like air holes.
Two meg single-platter removable disk packs used to be called pizzas, and the huge drive they were stuck into was referred to as a pizza oven. It's an index of progress that in the old days just the disk was pizza-sized, while now the entire computer is.
Node:plaid screen, Next:plain-ASCII, Previous:pizza box, Up:= P =
plaid screen n.
[XEROX PARC] A `special effect' that occurs when certain kinds of memory smashes overwrite the control blocks or image memory of a bit-mapped display. The term "salt and pepper" may refer to a different pattern of similar origin. Though the term as coined at PARC refers to the result of an error, some of the X demos induce plaid-screen effects deliberately as a display hack.
Node:plain-ASCII, Next:plan file, Previous:plaid screen, Up:= P =
plain-ASCII /playn-as'kee/
Syn. flat-ASCII.
Node:plan file, Next:platinum-iridium, Previous:plain-ASCII, Up:= P =
plan file n.
[Unix] On systems that support finger, the `.plan' file in a user's home directory is displayed when the user is fingered. This feature was originally intended to be used to keep potential fingerers apprised of one's location and near-future plans, but has been turned almost universally to humorous and self-expressive purposes (like a sig block). See also Hacking X for Y.
A recent innovation in plan files has been the introduction of "scrolling plan files" which are one-dimensional animations made using only the printable ASCII character set, carriage return and line feed, avoiding terminal specific escape sequences, since the finger command will (for security reasons; see letterbomb) not pass the escape character.
Scrolling .plan files have become art forms in miniature, and some sites have started competitions to find who can create the longest running, funniest, and most original animations. Various animation characters include:
Centipede:
mmmmme
Lorry/Truck:
oo-oP
Andalusian Video Snail:
_@/
and a compiler (ASP) is available on Usenet for producing them. See also twirling baton.
Node:platinum-iridium, Next:playpen, Previous:plan file, Up:= P =
platinum-iridium adj.
Standard, against which all others of the same category are measured. Usage: silly. The notion is that one of whatever it is has actually been cast in platinum-iridium alloy and placed in the vault beside the Standard Kilogram at the International Bureau of Weights and Measures near Paris. (From 1889 to 1960, the meter was defined to be the distance between two scratches in a platinum-iridium bar kept in that same vault -- this replaced an earlier definition as 10^(-7) times the distance between the North Pole and the Equator along a meridian through Paris; unfortunately, this had been based on an inexact value of the circumference of the Earth. From 1960 to 1984 it was defined to be 1650763.73 wavelengths of the orange-red line of krypton-86 propagating in a vacuum. It is now defined as the length of the path traveled by light in a vacuum in the time interval of 1/299,792,458 of a second. The kilogram is now the only unit of measure officially defined in terms of a unique artifact.) "This garbage-collection algorithm has been tested against the platinum-iridium cons cell in Paris." Compare golden.
Node:playpen, Next:playte, Previous:platinum-iridium, Up:= P =
playpen n.
[IBM] A room where programmers work. Compare salt mines.
Node:playte, Next:plingnet, Previous:playpen, Up:= P =
playte /playt/
16 bits, by analogy with nybble and byte. Usage: rare and extremely silly. See also dynner and crumb. General discussion of such terms is under nybble.
Node:plingnet, Next:plokta, Previous:playte, Up:= P =
plingnet /pling'net/ n.
Syn. UUCPNET. Also see Commonwealth Hackish, which uses `pling' for bang (as in bang path).
Node:plokta, Next:plonk, Previous:plingnet, Up:= P =
plokta /plok't*/ v.
[acronym: Press Lots Of Keys To Abort] To press random keys in an attempt to get some response from the system. One might plokta when the abort procedure for a program is not known, or when trying to figure out if the system is just sluggish or really hung. Plokta can also be used while trying to figure out any unknown key sequence for a particular operation. Someone going into `plokta mode' usually places both hands flat on the keyboard and mashes them down, hoping for some useful response.
A slightly more directed form of plokta can often be seen in mail messages or Usenet articles from new users -- the text might end with
^X^C q quit :q ^C end x exit ZZ ^D ? help
as the user vainly tries to find the right exit sequence, with the incorrect tries piling up at the end of the message....
Node:plonk, Next:plug-and-pray, Previous:plokta, Up:= P =
plonk excl.,vt.
[Usenet: possibly influenced by British slang `plonk' for cheap booze, or `plonker' for someone behaving stupidly (latter is lit. equivalent to Yiddish `schmuck')] The sound a newbie makes as he falls to the bottom of a kill file. While it originated in the newsgroup talk.bizarre, this term (usually written "*plonk*") is now (1994) widespread on Usenet as a form of public ridicule.
Node:plug-and-pray, Next:plugh, Previous:plonk, Up:= P =
plug-and-pray adj.,vi.
Parody of the techspeak term `plug-and-play', describing a PC peripheral card which is claimed to have no need for hardware configuration via DIP switches, and which should be work as soon as it is inserted in the PC. Unfortunately, even the PCI bus is not up to pulling this off reliably, and people who have to do installation or troubleshoot PCs soon find themselves longing for the DIP switches.
Node:plugh, Next:plumbing, Previous:plug-and-pray, Up:= P =
plugh /ploogh/ v.
[from the ADVENT game] See xyzzy.
Node:plumbing, Next:PM, Previous:plugh, Up:= P =
plumbing n.
[Unix] Term used for shell code, so called because of the prevalence of `pipelines' that feed the output of one program to the input of another. Under Unix, user utilities can often be implemented or at least prototyped by a suitable collection of pipelines and temp-file grinding encapsulated in a shell script; this is much less effort than writing C every time, and the capability is considered one of Unix's major winning features. A few other OSs such as IBM's VM/CMS support similar facilities. Esp. used in the construction `hairy plumbing' (see hairy). "You can kluge together a basic spell-checker out of sort(1), comm(1), and tr(1) with a little plumbing." See also tee.
Node:PM, Next:pnambic, Previous:plumbing, Up:= P =
PM /P-M/
1. v. (from `preventive maintenance') To bring down a machine for inspection or test purposes. See provocative maintenance; see also scratch monkey. 2. n. Abbrev. for `Presentation Manager', an elephantine OS/2 graphical user interface.
Node:pnambic, Next:pod, Previous:PM, Up:= P =
pnambic /p*-nam'bik/
[Acronym from the scene in the film version of "The Wizard of Oz" in which the true nature of the wizard is first discovered: "Pay no attention to the man behind the curtain."] 1. A stage of development of a process or function that, owing to incomplete implementation or to the complexity of the system, requires human interaction to simulate or replace some or all of the actions, inputs, or outputs of the process or function. 2. Of or pertaining to a process or function whose apparent operations are wholly or partially falsified. 3. Requiring prestidigitization.
The ultimate pnambic product was "Dan Bricklin's Demo", a program which supported flashy user-interface design prototyping. There is a related maxim among hackers: "Any sufficiently advanced technology is indistinguishable from a rigged demo." See magic, sense 1, for illumination of this point.
Node:pod, Next:point-and-drool interface, Previous:pnambic, Up:= P =
pod n.
[allegedly from abbreviation POD for `Prince Of Darkness'] A Diablo 630 (or, latterly, any letter-quality impact printer). From the DEC-10 PODTYPE program used to feed formatted text to it. Not to be confused with P.O.D..
Node:point-and-drool interface, Next:pointy hat, Previous:pod, Up:= P =
point-and-drool interface n.
Parody of the techspeak term `point-and-shoot interface', describing a windows, icons, and mouse-based interface such as is found on the Macintosh. The implication, of course, is that such an interface is only suitable for idiots. See for the rest of us, WIMP environment, Macintrash, drool-proof paper. Also `point-and-grunt interface'.
Node:pointy hat, Next:pointy-haired, Previous:point-and-drool interface, Up:= P =
pointy hat n.
See wizard hat. This synonym specifically refers to the wizards of Unseen University in Terry Pratchett's "Discworld" serious of humorous fantasies; these books are extremely popular among hackers.
Node:pointy-haired, Next:poke, Previous:pointy hat, Up:= P =
pointy-haired adj.
[after the character in the Dilbert comic strip] Describes the extreme form of the property that separates suits and marketroids from hackers. Compare brain-dead; demented; see PHB. Always applied to people, never to ideas. The plural form is often used as a noun. "The pointy-haireds ordered me to use Windows NT, but I set up a Linux server with Samba instead."
Node:poke, Next:poll, Previous:pointy-haired, Up:= P =
poke n.,vt.
See peek.
Node:poll, Next:polygon pusher, Previous:poke, Up:= P =
poll v.,n.
1. [techspeak] The action of checking the status of an input line, sensor, or memory location to see if a particular external event has been registered. 2. To repeatedly call or check with someone: "I keep polling him, but he's not answering his phone; he must be swapped out." 3. To ask. "Lunch? I poll for a takeout order daily."
Node:polygon pusher, Next:POM, Previous:poll, Up:= P =
polygon pusher n.
A chip designer who spends most of his or her time at the physical layout level (which requires drawing lots of multi-colored polygons). Also `rectangle slinger'.
Node:POM, Next:pop, Previous:polygon pusher, Up:= P =
POM /P-O-M/ n.
Common abbreviation for phase of the moon. Usage: usually in the phrase `POM-dependent', which means flaky.
Node:pop, Next:POPJ, Previous:POM, Up:= P =
pop /pop/
[from the operation that removes the top of a stack, and the fact that procedure return addresses are usually saved on the stack] (also capitalized `POP') 1. vt. To remove something from a stack or PDL. If a person says he/she has popped something from his stack, that means he/she has finally finished working on it and can now remove it from the list of things hanging overhead. 2. When a discussion gets to a level of detail so deep that the main point of the discussion is being lost, someone will shout "Pop!", meaning "Get back up to a higher level!" The shout is frequently accompanied by an upthrust arm with a finger pointing to the ceiling. 3. [all-caps, as `POP'] Point of Presence, a bank of dial-in lines allowing customers to make (local) calls into an ISP. This is borderline techspeak.
Node:POPJ, Next:poser, Previous:pop, Up:= P =
POPJ /pop'J/ n.,v.
[from a PDP-10 return-from-subroutine instruction] To return from a digression. By verb doubling, "Popj, popj" means roughly "Now let's see, where were we?" See RTI.
Node:poser, Next:post, Previous:POPJ, Up:= P =
poser n.
A wannabee; not hacker slang, but used among crackers, phreaks and warez d00dz. Not as negative as lamer or leech. Probably derives from a similar usage among punk-rockers and metalheads, putting down those who "talk the talk but don't walk the walk".
Node:post, Next:postcardware, Previous:poser, Up:= P =
post v.
To send a message to a mailing list or newsgroup. Distinguished in context from `mail'; one might ask, for example: "Are you going to post the patch or mail it to known users?"
Node:postcardware, Next:posting, Previous:post, Up:= P =
postcardware n.
A kind of shareware that borders on freeware, in that the author requests only that satisfied users send a postcard of their home town or something. (This practice, silly as it might seem, serves to remind users that they are otherwise getting something for nothing, and may also be psychologically related to real estate `sales' in which $1 changes hands just to keep the transaction from being a gift.)
Node:posting, Next:postmaster, Previous:postcardware, Up:= P =
posting n.
Noun corresp. to v. post (but note that post can be nouned). Distinguished from a `letter' or ordinary email message by the fact that it is broadcast rather than point-to-point. It is not clear whether messages sent to a small mailing list are postings or email; perhaps the best dividing line is that if you don't know the names of all the potential recipients, it is a posting.
Node:postmaster, Next:PostScript, Previous:posting, Up:= P =
postmaster n.
The email contact and maintenance person at a site connected to the Internet or UUCPNET. Often, but not always, the same as the admin. The Internet standard for electronic mail (RFC-822) requires each machine to have a `postmaster' address; usually it is aliased to this person.
Node:PostScript, Next:pound on, Previous:postmaster, Up:= P =
PostScript n.
A Page Description Language (PDL), based on work originally done by John Gaffney at Evans and Sutherland in 1976, evolving through `JaM' (`John and Martin', Martin Newell) at XEROX PARC, and finally implemented in its current form by John Warnock et al. after he and Chuck Geschke founded Adobe Systems Incorporated in 1982. PostScript gets its leverage by using a full programming language, rather than a series of low-level escape sequences, to describe an image to be printed on a laser printer or other output device (in this it parallels EMACS, which exploited a similar insight about editing tasks). It is also noteworthy for implementing on-the fly rasterization, from Bezier curve descriptions, of high-quality fonts at low (e.g. 300 dpi) resolution (it was formerly believed that hand-tuned bitmap fonts were required for this task). Hackers consider PostScript to be among the most elegant hacks of all time, and the combination of technical merits and widespread availability has made PostScript the language of choice for graphical output.
Node:pound on, Next:power cycle, Previous:PostScript, Up:= P =
pound on vt.
Syn. bang on.
Node:power cycle, Next:power hit, Previous:pound on, Up:= P =
power cycle vt.
(also, `cycle power' or just `cycle') To power off a machine and then power it on immediately, with the intention of clearing some kind of hung or gronked state. Syn. 120 reset; see also Big Red Switch. Compare Vulcan nerve pinch, bounce (sense 4), and boot, and see the "Some AI Koans" (in Appendix A) about Tom Knight and the novice.
Node:power hit, Next:PPN, Previous:power cycle, Up:= P =
power hit n.
A spike or drop-out in the electricity supplying your machine; a power glitch. These can cause crashes and even permanent damage to your machine(s).
Node:PPN, Next:pr0n, Previous:power hit, Up:= P =
PPN /P-P-N/, /pip'n/ n. obs.
[from `Project-Programmer Number'] A user-ID under TOPS-10 and its various mutant progeny at SAIL, BBN, CompuServe, and elsewhere. Old-time hackers from the PDP-10 era sometimes use this to refer to user IDs on other systems as well.
Node:pr0n, Next:precedence lossage, Previous:PPN, Up:= P =
pr0n //
[Usenet, IRC] Pornography. Originally this referred only to Internet porn but since then it has expanded to refer to just about anything. The term comes from the warez kiddies tendency to replace letters with numbers. At some point on IRC someone mistyped, swapped the middle two letters, and the name stuck, then propagated over into mainstream hacker usage. Compare filk, grilf, hing and newsfroup.
Node:precedence lossage, Next:prepend, Previous:pr0n, Up:= P =
precedence lossage /pre's*-dens los'*j/ n.
[C programmers] Coding error in an expression due to unexpected grouping of arithmetic or logical operators by the compiler. Used esp. of certain common coding errors in C due to the nonintuitively low precedence levels of &, |, ^, <<, and >> (for this reason, experienced C programmers deliberately forget the language's baroque precedence hierarchy and parenthesize defensively). Can always be avoided by suitable use of parentheses. LISP fans enjoy pointing out that this can't happen in their favorite language, which eschews precedence entirely, requiring one to use explicit parentheses everywhere. See aliasing bug, memory leak, memory smash, smash the stack, fandango on core, overrun screw.
Node:prepend, Next:prestidigitization, Previous:precedence lossage, Up:= P =
prepend /pree`pend'/ vt.
[by analogy with `append'] To prefix. As with `append' (but not `prefix' or `suffix' as a verb), the direct object is always the thing being added and not the original word (or character string, or whatever). "If you prepend a semicolon to the line, the translation routine will pass it through unaltered."
Node:prestidigitization, Next:pretty pictures, Previous:prepend, Up:= P =
prestidigitization /pres`t*-di`j*-ti:-zay'sh*n/ n.
1. The act of putting something into digital notation via sleight of hand. 2. Data entry through legerdemain.
Node:pretty pictures, Next:prettyprint, Previous:prestidigitization, Up:= P =
pretty pictures n.
[scientific computation] The next step up from numbers. Interesting graphical output from a program that may not have any sensible relationship to the system the program is intended to model. Good for showing to management.
Node:prettyprint, Next:pretzel key, Previous:pretty pictures, Up:= P =
prettyprint /prit'ee-print/ v.
(alt. `pretty-print') 1. To generate `pretty' human-readable output from a hairy internal representation; esp. used for the process of grinding (sense 1) program code, and most esp. for LISP code. 2. To format in some particularly slick and nontrivial way.
Node:pretzel key, Next:priesthood, Previous:prettyprint, Up:= P =
pretzel key n.
[Mac users] See feature key.
Node:priesthood, Next:prime time, Previous:pretzel key, Up:= P =
priesthood n. obs.
[TMRC] The select group of system managers responsible for the operation and maintenance of a batch operated computer system. On these computers, a user never had direct access to a computer, but had to submit his/her data and programs to a priest for execution. Results were returned days or even weeks later. See acolyte.
Node:prime time, Next:print, Previous:priesthood, Up:= P =
prime time n.
[from TV programming] Normal high-usage hours on a system or network. Back in the days of big timesharing machines `prime time' was when lots of people were competing for limited cycles, usually the day shift. Avoidance of prime time was traditionally given as a major reason for night mode hacking. The term fell into disuse during the early PC era, but has been revived to refer to times of day or evening at which the Internet tends to be heavily loaded, making Web access slow. The hackish tendency to late-night hacking runs has changed not a bit.
Node:print, Next:printing discussion, Previous:prime time, Up:= P =
print v.
To output, even if to a screen. If a hacker says that a program "printed a message", he means this; if he refers to printing a file, he probably means it in the conventional sense of writing to a hardcopy device (compounds like `print job' and `printout', on the other hand, always refer to the latter). This very common term is likely a holdover from the days when printing terminals were the norm, perpetuated by programming language constructs like C's printf(3). See senses 1 and 2 of tty.
Node:printing discussion, Next:priority interrupt, Previous:print, Up:= P =
printing discussion n.
[XEROX PARC] A protracted, low-level, time-consuming, generally pointless discussion of something only peripherally interesting to all.
Node:priority interrupt, Next:profile, Previous:printing discussion, Up:= P =
priority interrupt n.
[from the hardware term] Describes any stimulus compelling enough to yank one right out of hack mode. Classically used to describe being dragged away by an SO for immediate sex, but may also refer to more mundane interruptions such as a fire alarm going off in the near vicinity. Also called an NMI (non-maskable interrupt), especially in PC-land.
Node:profile, Next:progasm, Previous:priority interrupt, Up:= P =
profile n.
1. A control file for a program, esp. a text file automatically read from each user's home directory and intended to be easily modified by the user in order to customize the program's behavior. Used to avoid hardcoded choices (see also dot file, rc file). 2. [techspeak] A report on the amounts of time spent in each routine of a program, used to find and tune away the hot spots in it. This sense is often verbed. Some profiling modes report units other than time (such as call counts) and/or report at granularities other than per-routine, but the idea is similar. 3.[techspeak] A subset of a standard used for a particular purpose. This sense confuses hackers who wander into the weird world of ISO standards no end!
Node:progasm, Next:proggy, Previous:profile, Up:= P =
progasm /proh'gaz-m/ n.
[University of Wisconsin] The euphoria experienced upon the completion of a program or other computer-related project.
Node:proggy, Next:proglet, Previous:progasm, Up:= P =
proggy n.
1. Any computer program that is considered a full application. 2. Any computer program that is made up of or otherwise contains proglets. 3. Any computer program that is large enough to be normally distributed as an RPM or tarball.
Node:proglet, Next:program, Previous:proggy, Up:= P =
proglet /prog'let/ n.
[UK] A short extempore program written to meet an immediate, transient need. Often written in BASIC, rarely more than a dozen lines long, and containing no subroutines. The largest amount of code that can be written off the top of one's head, that does not need any editing, and that runs correctly the first time (this amount varies significantly according to one's skill and the language one is using). Compare toy program, noddy, one-liner wars.
Node:program, Next:Programmer's Cheer, Previous:proglet, Up:= P =
program n.
1. A magic spell cast over a computer allowing it to turn one's input into error messages. 2. An exercise in experimental epistemology. 3. A form of art, ostensibly intended for the instruction of computers, which is nevertheless almost inevitably a failure if other programmers can't understand it.
Node:Programmer's Cheer, Next:programming, Previous:program, Up:= P =
Programmer's Cheer
"Shift to the left! Shift to the right! Pop up, push down! Byte! Byte! Byte!" A joke so old it has hair on it.
Node:programming, Next:programming fluid, Previous:Programmer's Cheer, Up:= P =
programming n.
1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file). "Bloody instructions which, being taught, return to plague their inventor" ("Macbeth", Act 1, Scene 7) 2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward. 3. The most fun you can have with your clothes on. 4. The least fun you can have with your clothes off.
Node:programming fluid, Next:propeller head, Previous:programming, Up:= P =
programming fluid n.
1. Coffee. 2. Cola. 3. Any caffeinacious stimulant. Many hackers consider these essential for those all-night hacking runs. See wirewater.
Node:propeller head, Next:propeller key, Previous:programming fluid, Up:= P =
propeller head n.
Used by hackers, this is syn. with computer geek. Non-hackers sometimes use it to describe all techies. Prob. derives from SF fandom's tradition (originally invented by old-time fan Ray Faraday Nelson) of propeller beanies as fannish insignia (though nobody actually wears them except as a joke).
Node:propeller key, Next:proprietary, Previous:propeller head, Up:= P =
propeller key n.
[Mac users] See feature key.
Node:proprietary, Next:protocol, Previous:propeller key, Up:= P =
proprietary adj.
1. In marketroid-speak, superior; implies a product imbued with exclusive magic by the unmatched brilliance of the company's own hardware or software designers. 2. In the language of hackers and users, inferior; implies a product not conforming to open-systems standards, and thus one that puts the customer at the mercy of a vendor able to gouge freely on service and upgrade charges after the initial sale has locked the customer in. Often in the phrase "proprietary crap". 3. Synonym for closed-source, e.g. software issued in binary without source and under a restructive license.
Since the coining of the term open source, many hackers have made a conscious effort to distinguish between `proprietary' and `commercial' software. It is possible for software to be commercial (that is, intended to make a profit for the producers) without being proprietary. The reverse is also possible, for example in binary-only freeware.
Node:protocol, Next:provocative maintenance, Previous:proprietary, Up:= P =
protocol n.
As used by hackers, this never refers to niceties about the proper form for addressing letters to the Papal Nuncio or the order in which one should use the forks in a Russian-style place setting; hackers don't care about such things. It is used instead to describe any set of rules that allow different machines or pieces of software to coordinate with each other without ambiguity. So, for example, it does include niceties about the proper form for addressing packets on a network or the order in which one should use the forks in the Dining Philosophers Problem. It implies that there is some common message format and an accepted set of primitives or commands that all parties involved understand, and that transactions among them follow predictable logical sequences. See also handshaking, do protocol.
Node:provocative maintenance, Next:prowler, Previous:protocol, Up:= P =
provocative maintenance n.
[common ironic mutation of `preventive maintenance'] Actions performed upon a machine at regularly scheduled intervals to ensure that the system remains in a usable state. So called because it is all too often performed by a field servoid who doesn't know what he is doing; such `maintenance' often induces problems, or otherwise results in the machine's remaining in an unusable state for an indeterminate amount of time. See also scratch monkey.
Node:prowler, Next:pseudo, Previous:provocative maintenance, Up:= P =
prowler n.
[Unix] A daemon that is run periodically (typically once a week) to seek out and erase core files, truncate administrative logfiles, nuke lost+found directories, and otherwise clean up the cruft that tends to pile up in the corners of a file system. See also GFR, reaper, skulker.
Node:pseudo, Next:pseudoprime, Previous:prowler, Up:= P =
pseudo /soo'doh/ n.
[Usenet: truncation of `pseudonym'] 1. An electronic-mail or Usenet persona adopted by a human for amusement value or as a means of avoiding negative repercussions of one's net.behavior; a `nom de Usenet', often associated with forged postings designed to conceal message origins. Perhaps the best-known and funniest hoax of this type is B1FF. See also tentacle. 2. Notionally, a flamage-generating AI program simulating a Usenet user. Many flamers have been accused of actually being such entities, despite the fact that no AI program of the required sophistication yet exists. However, in 1989 there was a famous series of forged postings that used a phrase-frequency-based travesty generator to simulate the styles of several well-known flamers; it was based on large samples of their back postings (compare Dissociated Press). A significant number of people were fooled by the forgeries, and the debate over their authenticity was settled only when the perpetrator came forward to publicly admit the hoax.
Node:pseudoprime, Next:pseudosuit, Previous:pseudo, Up:= P =
pseudoprime n.
A backgammon prime (six consecutive occupied points) with one point missing. This term is an esoteric pun derived from number theory: a number that passes a certain kind of "primality test" may be called a `pseudoprime' (all primes pass any such test, but so do some composite numbers), and any number that passes several is, in some sense, almost certainly prime. The hacker backgammon usage stems from the idea that a pseudoprime is almost as good as a prime: it will do the same job unless you are unlucky.
Node:pseudosuit, Next:psychedelicware, Previous:pseudoprime, Up:= P =
pseudosuit /soo'doh-s[y]oot`/ n.
A suit wannabee; a hacker who has decided that he wants to be in management or administration and begins wearing ties, sport coats, and (shudder!) suits voluntarily. It's his funeral. See also lobotomy.
Node:psychedelicware, Next:psyton, Previous:pseudosuit, Up:= P =
psychedelicware /si:`k*-del'-ik-weir/ n.
[UK] Syn. display hack. See also smoking clover.
Node:psyton, Next:pubic directory, Previous:psychedelicware, Up:= P =
psyton /si:'ton/ n.
[TMRC] The elementary particle carrying the sinister force. The probability of a process losing is proportional to the number of psytons falling on it. Psytons are generated by observers, which is why demos are more likely to fail when lots of people are watching. [This term appears to have been largely superseded by bogon; see also quantum bogodynamics. --ESR]
Node:pubic directory, Next:puff, Previous:psyton, Up:= P =
pubic directory /pyoob'ik d*-rek't*-ree/) n.
[NYU] (also `pube directory' /pyoob' d*-rek't*-ree/) The `pub' (public) directory on a machine that allows FTP access. So called because it is the default location for SEX (sense 1). "I'll have the source in the pube directory by Friday."
Node:puff, Next:pumpkin holder, Previous:pubic directory, Up:= P =
puff vt.
To decompress data that has been crunched by Huffman coding. At least one widely distributed Huffman decoder program was actually named `PUFF', but these days it is usually packaged with the encoder. Oppose huff, see inflate.
Node:pumpkin holder, Next:pumpking, Previous:puff, Up:= P =
pumpkin holder n.
See patch pumpkin.
Node:pumpking, Next:punched card, Previous:pumpkin holder, Up:= P =
pumpking n.
Syn. for pumpkin holder; see patch pumpkin.
Node:punched card, Next:punt, Previous:pumpking, Up:= P =
punched card n.obs.
[techspeak] (alt. `punch card') The signature medium of computing's Stone Age, now obsolescent outside of some IBM shops. The punched card actually predated computers considerably, originating in 1801 as a control device for mechanical looms. The version patented by Hollerith and used with mechanical tabulating machines in the 1890 U.S. Census was a piece of cardboard about 90 mm by 215 mm. There is a widespread myth that it was designed to fit in the currency trays used for that era's larger dollar bills, but recent investigations have falsified this.
IBM (which originated as a tabulating-machine manufacturer) married the punched card to computers, encoding binary information as patterns of small rectangular holes; one character per column, 80 columns per card. Other coding schemes, sizes of card, and hole shapes were tried at various times.
The 80-column width of most character terminals is a legacy of the IBM punched card; so is the size of the quick-reference cards distributed with many varieties of computers even today. See chad, chad box, eighty-column mind, green card, dusty deck, lace card, card walloper.
Node:punt, Next:Purple Book, Previous:punched card, Up:= P =
punt v.
[from the punch line of an old joke referring to American football: "Drop back 15 yards and punt!"] 1. To give up, typically without any intention of retrying. "Let's punt the movie tonight." "I was going to hack all night to get this feature in, but I decided to punt" may mean that you've decided not to stay up all night, and may also mean you're not ever even going to put in the feature. 2. More specifically, to give up on figuring out what the Right Thing is and resort to an inefficient hack. 3. A design decision to defer solving a problem, typically because one cannot define what is desirable sufficiently well to frame an algorithmic solution. "No way to know what the right form to dump the graph in is -- we'll punt that for now." 4. To hand a tricky implementation problem off to some other section of the design. "It's too hard to get the compiler to do that; let's punt to the runtime system." 5. To knock someone off an Internet or chat connection; a `punter' thus, is a person or program that does this.
Node:Purple Book, Next:purple wire, Previous:punt, Up:= P =
Purple Book n.
1. The "System V Interface Definition". The covers of the first editions were an amazingly nauseating shade of off-lavender. 2. Syn. Wizard Book. Donald Lewine's "POSIX Programmer's Guide" (O'Reilly, 1991, ISBN 0-937175-73-0). See also book titles.
Node:purple wire, Next:push, Previous:Purple Book, Up:= P =
purple wire n.
[IBM] Wire installed by Field Engineers to work around problems discovered during testing or debugging. These are called `purple wires' even when (as is frequently the case) their actual physical color is yellow.... Compare blue wire, yellow wire, and red wire.
Node:push, Next:Python, Previous:purple wire, Up:= P =
push
[from the operation that puts the current information on a stack, and the fact that procedure return addresses are saved on a stack] (Also PUSH /push/ or PUSHJ /push'J/, the latter based on the PDP-10 procedure call instruction.) 1. To put something onto a stack or PDL. If one says that something has been pushed onto one's stack, it means that the Damoclean list of things hanging over ones's head has grown longer and heavier yet. This may also imply that one will deal with it before other pending items; otherwise one might say that the thing was `added to my queue'. 2. vi. To enter upon a digression, to save the current discussion for later. Antonym of pop; see also stack, PDL.
Node:Python, Next:quad, Previous:push, Up:= P =
Python /pi:'thon/
In the words of its author, "the other scripting language" (other than Perl, that is). Python's design is notably clean, elegant, and well thought through; it tends to attract the sort of programmers who find Perl grubby and exiguous. Python's relationship with Perl is rather like the BSD community's relationship to Linux - it's the smaller party in a (usually friendly) rivalry, but the average quality of its developers is generally conceded to be rather higher than in the larger community it competes with. There's a Python resource page at http://www.python.org. See also Guido.
Node:= Q =, Next:= R =, Previous:= P =, Up:The Jargon Lexicon
= Q =
quad:
quadruple bucky:
quantifiers:
quantum bogodynamics:
quarter:
ques:
quick-and-dirty:
quine:
quote chapter and verse:
quotient:
quux:
qux:
QWERTY:
Node:quad, Next:quadruple bucky, Previous:Python, Up:= Q =
quad n.
1. Two bits; syn. for quarter, crumb, tayste. 2. A four-pack of anything (compare hex, sense 2). 3. The rectangle or box glyph used in the APL language for various arcane purposes mostly related to I/O. Former Ivy-Leaguers and Oxford types are said to associate it with nostalgic memories of dear old University.
Node:quadruple bucky, Next:quantifiers, Previous:quad, Up:= Q =
quadruple bucky n. obs.
1. On an MIT space-cadet keyboard, use of all four of the shifting keys (control, meta, hyper, and super) while typing a character key. 2. On a Stanford or MIT keyboard in raw mode, use of four shift keys while typing a fifth character, where the four shift keys are the control and meta keys on both sides of the keyboard. This was very difficult to do! One accepted technique was to press the left-control and left-meta keys with your left hand, the right-control and right-meta keys with your right hand, and the fifth key with your nose.
Quadruple-bucky combinations were very seldom used in practice, because when one invented a new command one usually assigned it to some character that was easier to type. If you want to imply that a program has ridiculously many commands or features, you can say something like: "Oh, the command that makes it spin the tapes while whistling Beethoven's Fifth Symphony is quadruple-bucky-cokebottle." See double bucky, bucky bits, cokebottle.
Node:quantifiers, Next:quantum bogodynamics, Previous:quadruple bucky, Up:= Q =
quantifiers
In techspeak and jargon, the standard metric prefixes used in the SI (Système International) conventions for scientific measurement have dual uses. With units of time or things that come in powers of 10, such as money, they retain their usual meanings of multiplication by powers of 1000 = 10^3. But when used with bytes or other things that naturally come in powers of 2, they usually denote multiplication by powers of 1024 = 2^(10).
Here are the SI magnifying prefixes, along with the corresponding binary interpretations in common use:
prefix decimal binary kilo- 1000^1 1024^1 = 2^10 = 1,024
mega- 1000^2 1024^2 = 2^20 = 1,048,576
giga- 1000^3 1024^3 = 2^30 = 1,073,741,824
tera- 1000^4 1024^4 = 2^40 = 1,099,511,627,776
peta- 1000^5 1024^5 = 2^50 = 1,125,899,906,842,624
exa- 1000^6 1024^6 = 2^60 = 1,152,921,504,606,846,976
zetta- 1000^7 1024^7 = 2^70 = 1,180,591,620,717,411,303,424
yotta- 1000^8 1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176
Here are the SI fractional prefixes:
prefix decimal jargon usage milli- 1000^-1 (seldom used in jargon) micro- 1000^-2 small or human-scale (see micro-) nano- 1000^-3 even smaller (see nano-) pico- 1000^-4 even smaller yet (see pico-) femto- 1000^-5 (not used in jargon---yet) atto- 1000^-6 (not used in jargon---yet) zepto- 1000^-7 (not used in jargon---yet) yocto- 1000^-8 (not used in jargon---yet)
The prefixes zetta-, yotta-, zepto-, and yocto- have been included in these tables purely for completeness and giggle value; they were adopted in 1990 by the `19th Conference Generale des Poids et Mesures'. The binary peta- and exa- loadings, though well established, are not in jargon use either -- yet. The prefix milli-, denoting multiplication by 1/1000, has always been rare in jargon (there is, however, a standard joke about the `millihelen' -- notionally, the amount of beauty required to launch one ship). See the entries on micro-, pico-, and nano- for more information on connotative jargon use of these terms. `Femto' and `atto' (which, interestingly, derive not from Greek but from Danish) have not yet acquired jargon loadings, though it is easy to predict what those will be once computing technology enters the required realms of magnitude (however, see attoparsec).
There are, of course, some standard unit prefixes for powers of 10. In the following table, the `prefix' column is the international standard suffix for the appropriate power of ten; the `binary' column lists jargon abbreviations and words for the corresponding power of 2. The B-suffixed forms are commonly used for byte quantities; the words `meg' and `gig' are nouns that may (but do not always) pluralize with `s'.
prefix decimal binary pronunciation kilo- k K, KB, /kay/ mega- M M, MB, meg /meg/ giga- G G, GB, gig /gig/,/jig/
Confusingly, hackers often use K or M as though they were suffix or numeric multipliers rather than a prefix; thus "2K dollars", "2M of disk space". This is also true (though less commonly) of G.
Note that the formal SI metric prefix for 1000 is `k'; some use this strictly, reserving `K' for multiplication by 1024 (KB is thus `kilobytes').
K, M, and G used alone refer to quantities of bytes; thus, 64G is 64 gigabytes and `a K' is a kilobyte (compare mainstream use of `a G' as short for `a grand', that is, $1000). Whether one pronounces `gig' with hard or soft `g' depends on what one thinks the proper pronunciation of `giga-' is.
Confusing 1000 and 1024 (or other powers of 2 and 10 close in magnitude) -- for example, describing a memory in units of 500K or 524K instead of 512K -- is a sure sign of the marketroid. One example of this: it is common to refer to the capacity of 3.5" microfloppies as `1.44 MB' In fact, this is a completely bogus number. The correct size is 1440 KB, that is, 1440 * 1024 = 1474560 bytes. So the `mega' in `1.44 MB' is compounded of two `kilos', one of which is 1024 and the other of which is 1000. The correct number of megabytes would of course be 1440 / 1024 = 1.40625. Alas, this fine point is probably lost on the world forever.
[1993 update: hacker Morgan Burke has proposed, to general approval on Usenet, the following additional prefixes:
groucho
10^(-30)
harpo
10^(-27)
harpi
10^(27)
grouchi
10^(30)
We observe that this would leave the prefixes zeppo-, gummo-, and chico- available for future expansion. Sadly, there is little immediate prospect that Mr. Burke's eminently sensible proposal will be ratified.]
[1999 upate: there is an IEC proposal for binary multipliers, but no evidence that any of its proposals are in live use.]
Node:quantum bogodynamics, Next:quarter, Previous:quantifiers, Up:= Q =
quantum bogodynamics /kwon'tm boh`goh-di:-nam'iks/ n.
A theory that characterizes the universe in terms of bogon sources (such as politicians, used-car salesmen, TV evangelists, and suits in general), bogon sinks (such as taxpayers and computers), and bogosity potential fields. Bogon absorption, of course, causes human beings to behave mindlessly and machines to fail (and may also cause both to emit secondary bogons); however, the precise mechanics of the bogon-computron interaction are not yet understood and remain to be elucidated. Quantum bogodynamics is most often invoked to explain the sharp increase in hardware and software failures in the presence of suits; the latter emit bogons, which the former absorb. See bogon, computron, suit, psyton.
Node:quarter, Next:ques, Previous:quantum bogodynamics, Up:= Q =
quarter n.
Two bits. This in turn comes from the `pieces of eight' famed in pirate movies -- Spanish silver crowns that could be broken into eight pie-slice-shaped `bits' to make change. Early in American history the Spanish coin was considered equal to a dollar, so each of these `bits' was considered worth 12.5 cents. Syn. tayste, crumb, quad. Usage: rare. General discussion of such terms is under nybble.
Node:ques, Next:quick-and-dirty, Previous:quarter, Up:= Q =
ques /kwes/
1. n. The question mark character (?, ASCII 0111111). 2. interj. What? Also frequently verb-doubled as "Ques ques?" See wall.
Node:quick-and-dirty, Next:quine, Previous:ques, Up:= Q =
quick-and-dirty adj.
[common] Describes a crock put together under time or user pressure. Used esp. when you want to convey that you think the fast way might lead to trouble further down the road. "I can have a quick-and-dirty fix in place tonight, but I'll have to rewrite the whole module to solve the underlying design problem." See also kluge.
Node:quine, Next:quote chapter and verse, Previous:quick-and-dirty, Up:= Q =
quine /kwi:n/ n.
[from the name of the logician Willard van Orman Quine, via Douglas Hofstadter] A program that generates a copy of its own source text as its complete output. Devising the shortest possible quine in some given programming language is a common hackish amusement. (We ignore some variants of BASIC in which a program consisting of a single empty string literal reproduces itself trivially.) Here is one classic quine:
((lambda (x) (list x (list (quote quote) x))) (quote (lambda (x) (list x (list (quote quote) x)))))
This one works in LISP or Scheme. It's relatively easy to write quines in other languages such as Postscript which readily handle programs as data; much harder (and thus more challenging!) in languages like C which do not. Here is a classic C quine for ASCII machines:
char*f="char*f=%c%s%c;main() {printf(f,34,f,34,10);}%c"; main(){printf(f,34,f,34,10);}
For excruciatingly exact quinishness, remove the interior line breaks. Here is another elegant quine in ANSI C:
#define q(k)main(){return!puts(#k"\nq("#k")");} q(#define q(k)main(){return!puts(#k"\nq("#k")");})
Some infamous Obfuscated C Contest entries have been quines that reproduced in exotic ways. There is an amusing Quine Home Page.
Node:quote chapter and verse, Next:quotient, Previous:quine, Up:= Q =
quote chapter and verse v.
[by analogy with the mainstream phrase] To cite a relevant excerpt from an appropriate bible. "I don't care if rn gets it wrong; `Followup-To: poster' is explicitly permitted by RFC-1036. I'll quote chapter and verse if you don't believe me." See also legalese, language lawyer, RTFS (sense 2).
Node:quotient, Next:quux, Previous:quote chapter and verse, Up:= Q =
quotient n.
See coefficient of X.
Node:quux, Next:qux, Previous:quotient, Up:= Q =
quux /kwuhks/ n.
[Mythically, from the Latin semi-deponent verb quuxo, quuxare, quuxandum iri; noun form variously `quux' (plural `quuces', anglicized to `quuxes') and `quuxu' (genitive plural is `quuxuum', for four u-letters out of seven in all, using up all the `u' letters in Scrabble).] 1. Originally, a metasyntactic variable like foo and foobar. Invented by Guy Steele for precisely this purpose when he was young and naive and not yet interacting with the real computing community. Many people invent such words; this one seems simply to have been lucky enough to have spread a little. In an eloquent display of poetic justice, it has returned to the originator in the form of a nickname. 2. interj. See foo; however, denotes very little disgust, and is uttered mostly for the sake of the sound of it. 3. Guy Steele in his persona as `The Great Quux', which is somewhat infamous for light verse and for the `Crunchly' cartoons. 4. In some circles, used as a punning opposite of `crux'. "Ah, that's the quux of the matter!" implies that the point is not crucial (compare tip of the ice-cube). 5. quuxy: adj. Of or pertaining to a quux.
Node:qux, Next:QWERTY, Previous:quux, Up:= Q =
qux /kwuhks/
The fourth of the standard metasyntactic variable, after baz and before the quu(u...)x series. See foo, bar, baz, quux. This appears to be a recent mutation from quux, and many versions (especially older versions) of the standard series just run foo, bar, baz, quux, ....
Node:QWERTY, Next:rabbit job, Previous:qux, Up:= Q =
QWERTY /kwer'tee/ adj.
[from the keycaps at the upper left] Pertaining to a standard English-language typewriter keyboard (sometimes called the Sholes keyboard after its inventor), as opposed to Dvorak or non-US-ASCII layouts or a space-cadet keyboard or APL keyboard.
Historical note: The QWERTY layout is a fine example of a fossil. It is sometimes said that it was designed to slow down the typist, but this is wrong; it was designed to allow faster typing -- under a constraint now long obsolete. In early typewriters, fast typing using nearby type-bars jammed the mechanism. So Sholes fiddled the layout to separate the letters of many common digraphs (he did a far from perfect job, though; `th', `tr', `ed', and `er', for example, each use two nearby keys). Also, putting the letters of `typewriter' on one line allowed it to be typed with particular speed and accuracy for demos. The jamming problem was essentially solved soon afterward by a suitable use of springs, but the keyboard layout lives on.
The QWERTY keyboard has also spawned some unhelpful economic myths about how technical standards get and stay established; see http://www.reasonmag.com/9606/Fe.QWERTY.html.
Node:= R =, Next:= S =, Previous:= Q =, Up:The Jargon Lexicon
= R =
rabbit job:
rain dance:
rainbow series:
random:
Random Number God:
random numbers:
randomness:
rape:
rare mode:
raster blaster:
raster burn:
rasterbation:
rat belt:
rat dance:
ratio site:
rave:
rave on!:
ravs:
raw mode:
RBL:
rc file:
RE:
read-only user:
README file:
real:
real estate:
real hack:
real operating system:
Real Programmer:
Real Soon Now:
real time:
real user:
Real World:
reality check:
reality-distortion field:
reaper:
recompile the world:
rectangle slinger:
recursion:
recursive acronym:
Red Book:
red wire:
regexp:
register dancing:
rehi:
reincarnation cycle of:
reinvent the wheel:
relay rape:
religion of CHI:
religious issues:
replicator:
reply:
restriction:
retcon:
RETI:
retrocomputing:
return from the dead:
RFC:
RFE:
rib site:
rice box:
Right Thing:
rip:
ripoff:
RL:
roach:
robocanceller:
robot:
robust:
rococo:
rogue:
room-temperature IQ:
root:
root mode:
rot13:
rotary debugger:
round tape:
RSN:
RTBM:
RTFAQ:
RTFB:
RTFM:
RTFS:
RTI:
RTM:
RTS:
rude:
runes:
runic:
rusty iron:
rusty memory:
rusty wire:
Node:rabbit job, Next:rain dance, Previous:QWERTY, Up:= R =
rabbit job n.
[Cambridge] A batch job that does little, if any, real work, but creates one or more copies of itself, breeding like rabbits. Compare wabbit, fork bomb.
Node:rain dance, Next:rainbow series, Previous:rabbit job, Up:= R =
rain dance n.
1. Any ceremonial action taken to correct a hardware problem, with the expectation that nothing will be accomplished. This especially applies to reseating printed circuit boards, reconnecting cables, etc. "I can't boot up the machine. We'll have to wait for Greg to do his rain dance." 2. Any arcane sequence of actions performed with computers or software in order to achieve some goal; the term is usually restricted to rituals that include both an incantation or two and physical activity or motion. Compare magic, voodoo programming, black art, cargo cult programming, wave a dead chicken; see also casting the runes.
Node:rainbow series, Next:random, Previous:rain dance, Up:= R =
rainbow series n.
Any of several series of technical manuals distinguished by cover color. The original rainbow series was the NCSC security manuals (see Orange Book, crayola books); the term has also been commonly applied to the PostScript reference set (see Red Book, Green Book, Blue Book, White Book). Which books are meant by "`the' rainbow series" unqualified is thus dependent on one's local technical culture.
Node:random, Next:Random Number God, Previous:rainbow series, Up:= R =
random adj.
1. Unpredictable (closest to mathematical definition); weird. "The system's been behaving pretty randomly." 2. Assorted; undistinguished. "Who was at the conference?" "Just a bunch of random business types." 3. (pejorative) Frivolous; unproductive; undirected. "He's just a random loser." 4. Incoherent or inelegant; poorly chosen; not well organized. "The program has a random set of misfeatures." "That's a random name for that function." "Well, all the names were chosen pretty randomly." 5. In no particular order, though deterministic. "The I/O channels are in a pool, and when a file is opened one is chosen randomly." 6. Arbitrary. "It generates a random name for the scratch file." 7. Gratuitously wrong, i.e., poorly done and for no good apparent reason. For example, a program that handles file name defaulting in a particularly useless way, or an assembler routine that could easily have been coded using only three registers, but redundantly uses seven for values with non-overlapping lifetimes, so that no one else can invoke it without first saving four extra registers. What randomness! 8. n. A random hacker; used particularly of high-school students who soak up computer time and generally get in the way. 9. n. Anyone who is not a hacker (or, sometimes, anyone not known to the hacker speaking); the noun form of sense 2. "I went to the talk, but the audience was full of randoms asking bogus questions". 10. n. (occasional MIT usage) One who lives at Random Hall. See also J. Random, some random X. 11. [UK] Conversationally, a non sequitur or something similarly out-of-the-blue. As in: "Stop being so random!" This sense equates to `hatstand', taken from the Viz comic character "Roger Irrelevant - He's completely Hatstand."
Node:Random Number God, Next:random numbers, Previous:random, Up:= R =
Random Number God
[rec.games.roguelike.angband; often abbreviated `RNG'] The malign force which lurks behind the random number generator in Angband (and by extension elsewhere). A dark god that demands sacrifices and toys with its victims. "I just found a really great item; I suppose the RNG is about to punish me..." Apparently, Angband's random number generator occasionally gets locked in a repetition, so you get something with a 3% chance happening 8 times in a row. Improbable, but far too common to be pure chance. Compare Shub-Internet.
Node:random numbers, Next:randomness, Previous:Random Number God, Up:= R =
random numbers n.
When one wishes to specify a large but random number of things, and the context is inappropriate for N, certain numbers are preferred by hacker tradition (that is, easily recognized as placeholders). These include the following:
17
Long described at MIT as `the least random number'; see 23.
23
Sacred number of Eris, Goddess of Discord (along with 17 and 5).
42
The Answer to the Ultimate Question of Life, the Universe, and Everything. (Note that this answer is completely fortuitous. :-))
69
From the sexual act. This one was favored in MIT's ITS culture.
105
69 hex = 105 decimal, and 69 decimal = 105 octal.
666
The Number of the Beast.
For further enlightenment, study the "Principia Discordia", "The Hitchhiker's Guide to the Galaxy", "The Joy of Sex", and the Christian Bible (Revelation 13:18). See also Discordianism or consult your pineal gland. See also for values of.
Node:randomness, Next:rape, Previous:random numbers, Up:= R =
randomness n.
1. An inexplicable misfeature; gratuitous inelegance. 2. A hack or crock that depends on a complex combination of coincidences (or, possibly, the combination upon which the crock depends for its accidental failure to malfunction). "This hack can output characters 40-57 by putting the character in the four-bit accumulator field of an XCT and then extracting six bits -- the low 2 bits of the XCT opcode are the right thing." "What randomness!" 3. Of people, synonymous with `flakiness'. The connotation is that the person so described is behaving weirdly, incompetently, or inappropriately for reasons which are (a) too tiresome to bother inquiring into, (b) are probably as inscrutable as quantum phenomena anyway, and (c) are likely to pass with time. "Maybe he has a real complaint, or maybe it's just randomness. See if he calls back."
Despite the negative connotations jargon uses of this term have, it is worth noting that randomness can actually be a valuable resource, very useful for applications in cryptography and elsewhere. Computers are so thoroughly deterministic that they have a hard time generating high-quality randomess, so hackers have sometimes felt the need to built special-purpose contraptions for this purpose alone. One well-known website offers random bits generated by radioactive decay. Another derives random bits from images of Lava Lite lamps. (Hackers invariably find the latter hilarious. If you have to ask why, you'll never get it.)
Node:rape, Next:rare mode, Previous:randomness, Up:= R =
rape vt.
1. To screw someone or something, violently; in particular, to destroy a program or information irrecoverably. Often used in describing file-system damage. "So-and-so was running a program that did absolute disk I/O and ended up raping the master directory." 2. To strip a piece of hardware for parts. 3. [CMU/Pitt] To mass-copy files from an anonymous ftp site. "Last night I raped Simtel's dskutl directory."
Node:rare mode, Next:raster blaster, Previous:rape, Up:= R =
rare mode adj.
[Unix] CBREAK mode (character-by-character with interrupts enabled). Distinguished from raw mode and cooked mode; the phrase "a sort of half-cooked (rare?) mode" is used in the V7/BSD manuals to describe the mode. Usage: rare.
Node:raster blaster, Next:raster burn, Previous:rare mode, Up:= R =
raster blaster n.
[Cambridge] Specialized hardware for bitblt operations (a blitter). Allegedly inspired by `Rasta Blasta', British slang for the sort of portable stereo Americans call a `boom box' or `ghetto blaster'.
Node:raster burn, Next:rasterbation, Previous:raster blaster, Up:= R =
raster burn n.
Eyestrain brought on by too many hours of looking at low-res, poorly tuned, or glare-ridden monitors, esp. graphics monitors. See terminal illness.
Node:rasterbation, Next:rat belt, Previous:raster burn, Up:= R =
rasterbation n.
[portmanteau: raster + masturbation] The gratuituous use of comuputer generated images and effects in movies and graphic art which would have been better without them. Especially employed as a term of abuse by Photoshop/GIMP users and graphic artists.
Node:rat belt, Next:rat dance, Previous:rasterbation, Up:= R =
rat belt n.
A cable tie, esp. the sawtoothed, self-locking plastic kind that you can remove only by cutting (as opposed to a random twist of wire or a twist tie or one of those humongous metal clip frobs). Small cable ties are `mouse belts'.
Node:rat dance, Next:ratio site, Previous:rat belt, Up:= R =
rat dance n.
[From the Dilbert comic strip of November 14, 1995] A hacking run that produces results which, while superficially coherent, have little or nothing to do with its original objectives. There are strong connotations that the coding process and the objectives themselves were pretty random. (In the original comic strip, the Ratbert is invited to dance on Dilbert's keyboard in order to produce bugs for him to fix, and authors a Web browser instead.) Compare Infinite-Monkey Theorem.
This term seems to have become widely recognized quite rapidly after the original strip, a fact which testifies to Dilbert's huge popularity among hackers. All too many find the perverse incentives and Kafkaesque atmosphere of Dilbert's mythical workplace reflective of their own experiences.
Node:ratio site, Next:rave, Previous:rat dance, Up:= R =
ratio site
[warez d00dz] A FTP site storing pirated files where one must first upload something before being able to download. There is a ratio, based on bytes or files count, between the uploads and download. For instance, on a 2:1 site, to download a 4 Mb file, one must first upload at least 2 Mb of files. The hotter the contents of the server are, the smaller the ratio is. More often than not, the server refuses uploads because its disk is full, making it useless for downloading - or the connection magically breaks after one has uploaded a large amount of files, just before the downloading phase begins. See also banner site, leech mode.
Node:rave, Next:rave on!, Previous:ratio site, Up:= R =
rave vi.
[WPI] 1. To persist in discussing a specific subject. 2. To speak authoritatively on a subject about which one knows very little. 3. To complain to a person who is not in a position to correct the difficulty. 4. To purposely annoy another person verbally. 5. To evangelize. See flame. 6. Also used to describe a less negative form of blather, such as friendly bullshitting. `Rave' differs slightly from flame in that `rave' implies that it is the persistence or obliviousness of the person speaking that is annoying, while flame implies somewhat more strongly that the tone or content is offensive as well.
Node:rave on!, Next:ravs, Previous:rave, Up:= R =
rave on! imp.
Sarcastic invitation to continue a rave, often by someone who wishes the raver would get a clue but realizes this is unlikely.
Node:ravs, Next:raw mode, Previous:rave on!, Up:= R =
ravs /ravz/, also `Chinese ravs' n.
[primarily MIT/Boston usage] Jiao-zi (steamed or boiled) or Guo-tie (pan-fried). A Chinese appetizer, known variously in the plural as dumplings, pot stickers (the literal translation of guo-tie), and (around Boston) `Peking Ravioli'. The term `rav' is short for `ravioli', and among hackers always means the Chinese kind rather than the Italian kind. Both consist of a filling in a pasta shell, but the Chinese kind includes no cheese, uses a thinner pasta, has a pork-vegetable filling (good ones include Chinese chives), and is cooked differently, either by steaming or frying. A rav or dumpling can be cooked any way, but a potsticker is always the pan-fried kind (so called because it sticks to the frying pot and has to be scraped off). "Let's get hot-and-sour soup and three orders of ravs." See also oriental food.
Node:raw mode, Next:RBL, Previous:ravs, Up:= R =
raw mode n.
A mode that allows a program to transfer bits directly to or from an I/O device (or, under bogus operating systems that make a distinction, a disk file) without any processing, abstraction, or interpretation by the operating system. Compare rare mode, cooked mode. This is techspeak under Unix, jargon elsewhere.
Node:RBL, Next:rc file, Previous:raw mode, Up:= R =
RBL /R-B-L/
Abbreviation: "Realtime Blackhole List". A service that allows people to blacklist sites for emitting spam, and makes the blacklist available in real time to electronic-mail transport programs that know how to use RBL so they can filter out mail from those sites. Drastic (and controversial) but effective. There is an RBL home page.
Node:rc file, Next:RE, Previous:RBL, Up:= R =
rc file /R-C fi:l/ n.
[Unix: from `runcom files' on the CTSS system 1962-63, via the startup script /etc/rc] Script file containing startup instructions for an application program (or an entire operating system), usually a text file containing commands of the sort that might have been invoked manually once the system was running but are to be executed automatically each time the system starts up. See also dot file, profile (sense 1).
Node:RE, Next:read-only user, Previous:rc file, Up:= R =
RE /R-E/ n.
Common spoken and written shorthand for regexp.
Node:read-only user, Next:README file, Previous:RE, Up:= R =
read-only user n.
Describes a luser who uses computers almost exclusively for reading Usenet, bulletin boards, and/or email, rather than writing code or purveying useful information. See twink, terminal junkie, lurker.
Node:README file, Next:real, Previous:read-only user, Up:= R =
README file n.
Hacker's-eye introduction traditionally included in the top-level directory of a Unix source distribution, containing a pointer to more detailed documentation, credits, miscellaneous revision history, notes, etc. (The file may be named README, or READ.ME, or rarely ReadMe or readme.txt or some other variant.) In the Mac and PC worlds, software is not usually distributed in source form, and the README is more likely to contain user-oriented material like last-minute documentation changes, error workarounds, and restrictions. When asked, hackers invariably relate the README convention to the famous scene in Lewis Carroll's "Alice's Adventures In Wonderland" in which Alice confronts magic munchies labeled "Eat Me" and "Drink Me".
Node:real, Next:real estate, Previous:README file, Up:= R =
real adj.
Not simulated. Often used as a specific antonym to virtual in any of its jargon senses.
Node:real estate, Next:real hack, Previous:real, Up:= R =
real estate n.
May be used for any critical resource measured in units of area. Most frequently used of `chip real estate', the area available for logic on the surface of an integrated circuit (see also nanoacre). May also be used of floor space in a dinosaur pen, or even space on a crowded desktop (whether physical or electronic).
Node:real hack, Next:real operating system, Previous:real estate, Up:= R =
real hack n.
A crock. This is sometimes used affectionately; see hack.
Node:real operating system, Next:Real Programmer, Previous:real hack, Up:= R =
real operating system n.
The sort the speaker is used to. People from the BSDophilic academic community are likely to issue comments like "System V? Why don't you use a real operating system?", people from the commercial/industrial Unix sector are known to complain "BSD? Why don't you use a real operating system?", and people from IBM object "Unix? Why don't you use a real operating system?" Only MS-DOS is universally considered unreal. See holy wars, religious issues, proprietary, Get a real computer!
Node:Real Programmer, Next:Real Soon Now, Previous:real operating system, Up:= R =
Real Programmer n.
[indirectly, from the book "Real Men Don't Eat Quiche"] A particular sub-variety of hacker: one possessed of a flippant attitude toward complexity that is arrogant even when justified by experience. The archetypal `Real Programmer' likes to program on the bare metal and is very good at same, remembers the binary opcodes for every machine he has ever programmed, thinks that HLLs are sissy, and uses a debugger to edit his code because full-screen editors are for wimps. Real Programmers aren't satisfied with code that hasn't been bummed into a state of tenseness just short of rupture. Real Programmers never use comments or write documentation: "If it was hard to write", says the Real Programmer, "it should be hard to understand." Real Programmers can make machines do things that were never in their spec sheets; in fact, they are seldom really happy unless doing so. A Real Programmer's code can awe with its fiendish brilliance, even as its crockishness appalls. Real Programmers live on junk food and coffee, hang line-printer art on their walls, and terrify the crap out of other programmers -- because someday, somebody else might have to try to understand their code in order to change it. Their successors generally consider it a Good Thing that there aren't many Real Programmers around any more. For a famous (and somewhat more positive) portrait of a Real Programmer, see "The Story of Mel" in Appendix A. The term itself was popularized by a 1983 Datamation article "Real Programmers Don't Use Pascal" by Ed Post, still circulating on Usenet and Internet in on-line form. You can browse "Real Programmers Don't Use Pascal" from the Datamation home page http://www.datamation.com.
Node:Real Soon Now, Next:real time, Previous:Real Programmer, Up:= R =
Real Soon Now adv.
[orig. from SF's fanzine community, popularized by Jerry Pournelle's column in "BYTE"] 1. Supposed to be available (or fixed, or cheap, or whatever) real soon now according to somebody, but the speaker is quite skeptical. 2. When one's gods, fates, or other time commitments permit one to get to it (in other words, don't hold your breath). Often abbreviated RSN. Compare copious free time.
Node:real time, Next:real user, Previous:Real Soon Now, Up:= R =
real time
1. [techspeak] adj. Describes an application which requires a program to respond to stimuli within some small upper limit of response time (typically milli- or microseconds). Process control at a chemical plant is the canonical example. Such applications often require special operating systems (because everything else must take a back seat to response time) and speed-tuned hardware. 2. adv. In jargon, refers to doing something while people are watching or waiting. "I asked her how to find the calling procedure's program counter on the stack and she came up with an algorithm in real time."
Node:real user, Next:Real World, Previous:real time, Up:= R =
real user n.
1. A commercial user. One who is paying real money for his computer usage. 2. A non-hacker. Someone using the system for an explicit purpose (a research project, a course, etc.) other than pure exploration. See user. Hackers who are also students may also be real users. "I need this fixed so I can do a problem set. I'm not complaining out of randomness, but as a real user." See also luser.
Node:Real World, Next:reality check, Previous:real user, Up:= R =
Real World n.
1. Those institutions at which `programming' may be used in the same sentence as `FORTRAN', `COBOL', `RPG', `IBM', `DBASE', etc. Places where programs do such commercially necessary but intellectually uninspiring things as generating payroll checks and invoices. 2. The location of non-programmers and activities not related to programming. 3. A bizarre dimension in which the standard dress is shirt and tie and in which a person's working hours are defined as 9 to 5 (see code grinder). 4. Anywhere outside a university. "Poor fellow, he's left MIT and gone into the Real World." Used pejoratively by those not in residence there. In conversation, talking of someone who has entered the Real World is not unlike speaking of a deceased person. It is also noteworthy that on the campus of Cambridge University in England, there is a gaily-painted lamp-post which bears the label `REALITY CHECKPOINT'. It marks the boundary between university and the Real World; check your notions of reality before passing. This joke is funnier because the Cambridge `campus' is actually coextensive with the center of Cambridge town. See also fear and loathing, mundane, and uninteresting.
Node:reality check, Next:reality-distortion field, Previous:Real World, Up:= R =
reality check n.
1. The simplest kind of test of software or hardware; doing the equivalent of asking it what 2 + 2 is and seeing if you get 4. The software equivalent of a smoke test. 2. The act of letting a real user try out prototype software. Compare sanity check.
Node:reality-distortion field, Next:reaper, Previous:reality check, Up:= R =
reality-distortion field n.
An expression used to describe the persuasive ability of managers like Steve Jobs (the term originated at Apple in the 1980s to describe his peculiar charisma). Those close to these managers become passionately committed to possibly insane projects, without regard to the practicality of their implementation or competitive forces in the marketpace.
Node:reaper, Next:recompile the world, Previous:reality-distortion field, Up:= R =
reaper n.
A prowler that GFRs files. A file removed in this way is said to have been `reaped'.
Node:recompile the world, Next:rectangle slinger, Previous:reaper, Up:= R =
recompile the world
The surprisingly large amount of work that needs to be done as the result of any small but globally visible program change. "The world" may mean the entirety of some huge program, or may in theory refer to every program of a certain class in the entire known universe. For instance, "Add one #define to stdio.h, and you have to recompile the world." This means that any minor change to the standard-I/O header file theoretically mandates recompiling every C program in existence, even if only to verify that the change didn't screw something else up. In practice, you may not actually have to recompile the world, but the implication is that some human cleverness is required to figure out what parts can be safely left out.
Node:rectangle slinger, Next:recursion, Previous:recompile the world, Up:= R =
rectangle slinger n.
See polygon pusher.
Node:recursion, Next:recursive acronym, Previous:rectangle slinger, Up:= R =
recursion n.
See recursion. See also tail recursion.
Node:recursive acronym, Next:Red Book, Previous:recursion, Up:= R =
recursive acronym n.
A hackish (and especially MIT) tradition is to choose acronyms/abbreviations that refer humorously to themselves or to other acronyms/abbreviations. The classic examples were two MIT editors called EINE ("EINE Is Not EMACS") and ZWEI ("ZWEI Was EINE Initially"). More recently, there is a Scheme compiler called LIAR (Liar Imitates Apply Recursively), and GNU (q.v., sense 1) stands for "GNU's Not Unix!" -- and a company with the name Cygnus, which expands to "Cygnus, Your GNU Support" (though Cygnus people say this is a backronym). See also mung, EMACS.
Node:Red Book, Next:red wire, Previous:recursive acronym, Up:= R =
Red Book n.
1. Informal name for one of the four standard references on PostScript ("PostScript Language Reference Manual", Adobe Systems (Addison-Wesley, 1985; QA76.73.P67P67; ISBN 0-201-10174-2, or the 1990 second edition ISBN 0-201-18127-4); the others are known as the Green Book, the Blue Book, and the White Book (sense 2). 2. Informal name for one of the 3 standard references on Smalltalk ("Smalltalk-80: The Interactive Programming Environment" by Adele Goldberg (Addison-Wesley, 1984; QA76.8.S635G638; ISBN 0-201-11372-4); this too is associated with blue and green books). 3. Any of the 1984 standards issued by the CCITT eighth plenary assembly. These include, among other things, the X.400 email spec and the Group 1 through 4 fax standards. 4. The new version of the Green Book (sense 4) -- IEEE 1003.1-1990, a.k.a ISO 9945-1 -- is (because of the color and the fact that it is printed on A4 paper) known in the USA as "the Ugly Red Book That Won't Fit On The Shelf" and in Europe as "the Ugly Red Book That's A Sensible Size". 5. The NSA "Trusted Network Interpretation" companion to the Orange Book. 6. Nemeth, Snyder, Seebass, Hein; "Unix System Administration Handbook, Second Edition" (Prentice Hall PTR, New Jersey; 1995; QA76.76.063N45; ISBN 0-13-151051-7). See also book titles.
Node:red wire, Next:regexp, Previous:Red Book, Up:= R =
red wire n.
[IBM] Patch wires installed by programmers who have no business mucking with the hardware. It is said that the only thing more dangerous than a hardware guy with a code patch is a softy with a soldering iron.... Compare blue wire, yellow wire, purple wire.
Node:regexp, Next:register dancing, Previous:red wire, Up:= R =
regexp /reg'eksp/ n.
[Unix] (alt. `regex' or `reg-ex') 1. Common written and spoken abbreviation for `regular expression', one of the wildcard patterns used, e.g., by Unix utilities such as grep(1), sed(1), and awk(1). These use conventions similar to but more elaborate than those described under glob. For purposes of this lexicon, it is sufficient to note that regexps also allow complemented character sets using ^; thus, one can specify `any non-alphabetic character' with [^A-Za-z]. 2. Name of a well-known PD regexp-handling package in portable C, written by revered Usenetter Henry Spencer.
Node:register dancing, Next:rehi, Previous:regexp, Up:= R =
register dancing n.
Many older processor architectures suffer from a serious shortage of general-purpose registers. This is especially a problem for compiler-writers, because their generated code needs places to store temporaries for things like intermediate values in expression evaluation. Some designs with this problem, like the Intel 80x86, do have a handful of special-purpose registers that can be pressed into service, providing suitable care is taken to avoid unpleasant side effects on the state of the processor: while the special-purpose register is being used to hold an intermediate value, a delicate minuet is required in which the previous value of the register is saved and then restored just before the official function (and value) of the special-purpose register is again needed.
Node:rehi, Next:reincarnation cycle of, Previous:register dancing, Up:= R =
rehi
[IRC, MUD] "Hello again." Very commonly used to greet people upon returning to an IRC channel after channel hopping.
Node:reincarnation cycle of, Next:reinvent the wheel, Previous:rehi, Up:= R =
reincarnation, cycle of n.
See cycle of reincarnation.
Node:reinvent the wheel, Next:relay rape, Previous:reincarnation cycle of, Up:= R =
reinvent the wheel v.
To design or implement a tool equivalent to an existing one or part of one, with the implication that doing so is silly or a waste of time. This is often a valid criticism. On the other hand, automobiles don't use wooden rollers, and some kinds of wheel have to be reinvented many times before you get them right. On the third hand, people reinventing the wheel do tend to come up with the moral equivalent of a trapezoid with an offset axle.
Node:relay rape, Next:religion of CHI, Previous:reinvent the wheel, Up:= R =
relay rape n.
The hijacking of a third party's unsecured mail server to deliver spam.
Node:religion of CHI, Next:religious issues, Previous:relay rape, Up:= R =
religion of CHI /ki:/ n.
[Case Western Reserve University] Yet another hackish parody religion (see also Church of the SubGenius, Discordianism). In the mid-70s, the canonical "Introduction to Programming" courses at CWRU were taught in Algol, and student exercises were punched on cards and run on a Univac 1108 system using a homebrew operating system named CHI. The religion had no doctrines and but one ritual: whenever the worshipper noted that a digital clock read 11:08, he or she would recite the phrase "It is 11:08; ABS, ALPHABETIC, ARCSIN, ARCCOS, ARCTAN." The last five words were the first five functions in the appropriate chapter of the Algol manual; note the special pronunciations /obz/ and /ark'sin/ rather than the more common /ahbz/ and /ark'si:n/. Using an alarm clock to warn of 11:08's arrival was considered harmful.
Node:religious issues, Next:replicator, Previous:religion of CHI, Up:= R =
religious issues n.
Questions which seemingly cannot be raised without touching off holy wars, such as "What is the best operating system (or editor, language, architecture, shell, mail reader, news reader)?", "What about that Heinlein guy, eh?", "What should we add to the new Jargon File?" See holy wars; see also theology, bigot.
This term is a prime example of ha ha only serious. People actually develop the most amazing and religiously intense attachments to their tools, even when the tools are intangible. The most constructive thing one can do when one stumbles into the crossfire is mumble Get a life! and leave -- unless, of course, one's own unassailably rational and obviously correct choices are being slammed.
Node:replicator, Next:reply, Previous:religious issues, Up:= R =
replicator n.
Any construct that acts to produce copies of itself; this could be a living organism, an idea (see meme), a program (see quine, worm, wabbit, fork bomb, and virus), a pattern in a cellular automaton (see life, sense 1), or (speculatively) a robot or nanobot. It is even claimed by some that Unix and C are the symbiotic halves of an extremely successful replicator; see Unix conspiracy.
Node:reply, Next:restriction, Previous:replicator, Up:= R =
reply n.
See followup.
Node:restriction, Next:retcon, Previous:reply, Up:= R =
restriction n.
A bug or design error that limits a program's capabilities, and which is sufficiently egregious that nobody can quite work up enough nerve to describe it as a feature. Often used (esp. by marketroid types) to make it sound as though some crippling bogosity had been intended by the designers all along, or was forced upon them by arcane technical constraints of a nature no mere user could possibly comprehend (these claims are almost invariably false).
Old-time hacker Joseph M. Newcomer advises that whenever choosing a quantifiable but arbitrary restriction, you should make it either a power of 2 or a power of 2 minus 1. If you impose a limit of 107 items in a list, everyone will know it is a random number -- on the other hand, a limit of 15 or 16 suggests some deep reason (involving 0- or 1-based indexing in binary) and you will get less flamage for it. Limits which are round numbers in base 10 are always especially suspect.
Node:retcon, Next:RETI, Previous:restriction, Up:= R =
retcon /ret'kon/
[short for `retroactive continuity', from the Usenet newsgroup rec.arts.comics] 1. n. The common situation in pulp fiction (esp. comics or soap operas) where a new story `reveals' things about events in previous stories, usually leaving the `facts' the same (thus preserving continuity) while completely changing their interpretation. For example, revealing that a whole season of "Dallas" was a dream was a retcon. 2. vt. To write such a story about a character or fictitious object. "Byrne has retconned Superman's cape so that it is no longer unbreakable." "Marvelman's old adventures were retconned into synthetic dreams." "Swamp Thing was retconned from a transformed person into a sentient vegetable." "Darth Vader was retconned into Luke Skywalker's father in "The Empire Strikes Back".
[This term is included because it is a good example of hackish linguistic innovation in a field completely unrelated to computers. The word `retcon' will probably spread through comics fandom and lose its association with hackerdom within a couple of years; for the record, it started here. --ESR]
[1993 update: some comics fans on the net now claim that retcon was independently in use in comics fandom before rec.arts.comics. In lexicography, nothing is ever simple. --ESR]
Node:RETI, Next:retrocomputing, Previous:retcon, Up:= R =
RETI v.
Syn. RTI
Node:retrocomputing, Next:return from the dead, Previous:RETI, Up:= R =
retrocomputing /ret'-roh-k*m-pyoo'ting/ n.
Refers to emulations of way-behind-the-state-of-the-art hardware or software, or implementations of never-was-state-of-the-art; esp. if such implementations are elaborate practical jokes and/or parodies, written mostly for hack value, of more `serious' designs. Perhaps the most widely distributed retrocomputing utility was the pnch(6) or bcd(6) program on V7 and other early Unix versions, which would accept up to 80 characters of text argument and display the corresponding pattern in punched card code. Other well-known retrocomputing hacks have included the programming language INTERCAL, a JCL-emulating shell for Unix, the card-punch-emulating editor named 029, and various elaborate PDP-11 hardware emulators and RT-11 OS emulators written just to keep an old, sourceless Zork binary running.
A tasty selection of retrocomputing programs are made available at the Retrocomputing Museum, http://www.ccil.org/retro.
Node:return from the dead, Next:RFC, Previous:retrocomputing, Up:= R =
return from the dead v.
To regain access to the net after a long absence. Compare person of no account.
Node:RFC, Next:RFE, Previous:return from the dead, Up:= R =
RFC /R-F-C/ n.
[Request For Comment] One of a long-established series of numbered Internet informational documents and standards widely followed by commercial software and freeware in the Internet and Unix communities. Perhaps the single most influential one has been RFC-822 (the Internet mail-format standard). The RFCs are unusual in that they are floated by technical experts acting on their own initiative and reviewed by the Internet at large, rather than formally promulgated through an institution such as ANSI. For this reason, they remain known as RFCs even once adopted as standards.
The RFC tradition of pragmatic, experience-driven, after-the-fact standard writing done by individuals or small working groups has important advantages over the more formal, committee-driven process typical of ANSI or ISO. Emblematic of some of these advantages is the existence of a flourishing tradition of `joke' RFCs; usually at least one a year is published, usually on April 1st. Well-known joke RFCs have included 527 ("ARPAWOCKY", R. Merryman, UCSD; 22 June 1973), 748 ("Telnet Randomly-Lose Option", Mark R. Crispin; 1 April 1978), and 1149 ("A Standard for the Transmission of IP Datagrams on Avian Carriers", D. Waitzman, BBN STC; 1 April 1990). The first was a Lewis Carroll pastiche; the second a parody of the TCP-IP documentation style, and the third a deadpan skewering of standards-document legalese, describing protocols for transmitting Internet data packets by carrier pigeon.
The RFCs are most remarkable for how well they work -- they manage to have neither the ambiguities that are usually rife in informal specifications, nor the committee-perpetrated misfeatures that often haunt formal standards, and they define a network that has grown to truly worldwide proportions.
Node:RFE, Next:rib site, Previous:RFC, Up:= R =
RFE /R-F-E/ n.
1. [techspeak] Request For Enhancement (compare RFC). 2. [from `Radio Free Europe', Bellcore and Sun] Radio Free Ethernet, a system (originated by Peter Langston) for broadcasting audio among Sun SPARCstations over the ethernet.
Node:rib site, Next:rice box, Previous:RFE, Up:= R =
rib site n.
[by analogy with backbone site] A machine that has an on-demand high-speed link to a backbone site and serves as a regional distribution point for lots of third-party traffic in email and Usenet news. Compare leaf site, backbone site.
Node:rice box, Next:Right Thing, Previous:rib site, Up:= R =
rice box n.
[from ham radio slang] Any Asian-made commodity computer, esp. an 80x86-based machine built to IBM PC-compatible ISA or EISA-bus standards.
Node:Right Thing, Next:rip, Previous:rice box, Up:= R =
Right Thing n.
That which is compellingly the correct or appropriate thing to use, do, say, etc. Often capitalized, always emphasized in speech as though capitalized. Use of this term often implies that in fact reasonable people may disagree. "What's the right thing for LISP to do when it sees (mod a 0)? Should it return a, or give a divide-by-0 error?" Oppose Wrong Thing.
Node:rip, Next:ripoff, Previous:Right Thing, Up:= R =
rip v.
1. To extract the digital representation of a piece of music from an audio CD. Software that does this is often called a "CD ripper". 2. [Amiga hackers] To extract sound or graphics from a program that they have been compiled/assembled into, or which generates them at run-time. In the case of older Amiga games this entails searching through memory shortly after a reboot. This sense has been in use for many years and probably gave rise to the (now more common) sense 1.
Node:ripoff, Next:RL, Previous:rip, Up:= R =
ripoff n.
Synonym for chad, sense 1.
Node:RL, Next:roach, Previous:ripoff, Up:= R =
RL // n.
[MUD community] Real Life. "Firiss laughs in RL" means that Firiss's player is laughing. Compare meatspace; oppose VR.
Node:roach, Next:robocanceller, Previous:RL, Up:= R =
roach vt.
[Bell Labs] To destroy, esp. of a data structure. Hardware gets toasted or fried, software gets roached.
Node:robocanceller, Next:robot, Previous:roach, Up:= R =
robocanceller /roh-boh-kan'sel-*r/
A program that monitors Usenet feeds, attempting to detect and eliminate spam by sending appropriate cancel messages . Robocancellers may use the Breidbart Index as a trigger. Programming them is not a game for amateurs; see ARMM. See also Dave the Resurrector.
Node:robot, Next:robust, Previous:robocanceller, Up:= R =
robot n.
See bot.
Node:robust, Next:rococo, Previous:robot, Up:= R =
robust adj.
Said of a system that has demonstrated an ability to recover gracefully from the whole range of exceptional inputs and situations in a given environment. One step below bulletproof. Carries the additional connotation of elegance in addition to just careful attention to detail. Compare smart, oppose brittle.
Node:rococo, Next:rogue, Previous:robust, Up:= R =
rococo adj.
Terminally baroque. Used to imply that a program has become so encrusted with the software equivalent of gold leaf and curlicues that they have completely swamped the underlying design. Called after the later and more extreme forms of Baroque architecture and decoration prevalent during the mid-1700s in Europe. Alan Perlis said: "Every program eventually becomes rococo, and then rubble." Compare critical mass.
Node:rogue, Next:room-temperature IQ, Previous:rococo, Up:= R =
rogue
1. [Unix] n. A Dungeons-and-Dragons-like game using character graphics, written under BSD Unix and subsequently ported to other Unix systems. The original BSD curses(3) screen-handling package was hacked together by Ken Arnold primarily to support games, and the development of rogue(6) popularized its use; it has since become one of Unix's most important and heavily used application libraries. Nethack, Omega, Larn, Angband, and an entire subgenre of computer dungeon games (all known as `roguelikes') all took off from the inspiration provided by rogue(6); the popular Windows game Diablo, though graphics-intensive, has very similar play logic. See also nethack. 2. [Usenet] adj. An ISP which permits net abuse (usually in the form of spamming) by its customers, or which itself engages in such activities. Rogue ISPs are sometimes subject to IDPs or UDPs. Sometimes deliberately mispelled as "rouge". See also nethack, moria, Angband.
Node:room-temperature IQ, Next:root, Previous:rogue, Up:= R =
room-temperature IQ quant.
[IBM] 80 or below (nominal room temperature is 72 degrees Fahrenheit, 22 degrees Celsius). Used in describing the expected intelligence range of the luser. "Well, but how's this interface going to play with the room-temperature IQ crowd?" See drool-proof paper. This is a much more insulting phrase in countries that use Celsius thermometers.
Node:root, Next:root mode, Previous:room-temperature IQ, Up:= R =
root n.
[Unix] 1. The superuser account (with user name `root') that ignores permission bits, user number 0 on a Unix system. The term avatar is also used. 2. The top node of the system directory structure; historically the home directory of the root user, but probably named after the root of an (inverted) tree. 3. By extension, the privileged system-maintenance login on any OS. See root mode, go root, see also wheel.
Node:root mode, Next:rot13, Previous:root, Up:= R =
root mode n.
Syn. with wizard mode or `wheel mode'. Like these, it is often generalized to describe privileged states in systems other than OSes.
Node:rot13, Next:rotary debugger, Previous:root mode, Up:= R =
rot13 /rot ther'teen/ n.,v.
[Usenet: from `rotate alphabet 13 places'] The simple Caesar-cypher encryption that replaces each English letter with the one 13 places forward or back along the alphabet, so that "The butler did it!" becomes "Gur ohgyre qvq vg!" Most Usenet news reading and posting programs include a rot13 feature. It is used to enclose the text in a sealed wrapper that the reader must choose to open -- e.g., for posting things that might offend some readers, or spoilers. A major advantage of rot13 over rot(N) for other N is that it is self-inverse, so the same code can be used for encoding and decoding. See also spoiler space, which has partly displaced rot13 since non-Unix-based newsreaders became common.
Node:rotary debugger, Next:round tape, Previous:rot13, Up:= R =
rotary debugger n.
[Commodore] Essential equipment for those late-night or early-morning debugging sessions. Mainly used as sustenance for the hacker. Comes in many decorator colors, such as Sausage, Pepperoni, and Garbage. See ANSI standard pizza.
Node:round tape, Next:RSN, Previous:rotary debugger, Up:= R =
round tape n.
Industry-standard 1/2-inch magnetic tape (7- or 9-track) on traditional circular reels. See macrotape, oppose square tape.
Node:RSN, Next:RTBM, Previous:round tape, Up:= R =
RSN /R-S-N/ adj.
See Real Soon Now.
Node:RTBM, Next:RTFAQ, Previous:RSN, Up:= R =
RTBM /R-T-B-M/ imp.
[Unix] Commonwealth Hackish variant of RTFM; expands to `Read The Bloody Manual'. RTBM is often the entire text of the first reply to a question from a newbie; the second would escalate to "RTFM".
Node:RTFAQ, Next:RTFB, Previous:RTBM, Up:= R =
RTFAQ /R-T-F-A-Q/ imp.
[Usenet: primarily written, by analogy with RTFM] Abbrev. for `Read the FAQ!', an exhortation that the person addressed ought to read the newsgroup's FAQ list before posting questions.
Node:RTFB, Next:RTFM, Previous:RTFAQ, Up:= R =
RTFB /R-T-F-B/ imp.
[Unix] Abbreviation for `Read The Fucking Binary'. Used when neither documentation nor source for the problem at hand exists, and the only thing to do is use some debugger or monitor and directly analyze the assembler or even the machine code. "No source for the buggy port driver? Aaargh! I hate proprietary operating systems. Time to RTFB."
Of the various RTF? forms, `RTFB' is the least pejorative against anyone asking a question for which RTFB is the answer; the anger here is directed at the absence of both source and adequate documentation.
Node:RTFM, Next:RTFS, Previous:RTFB, Up:= R =
RTFM /R-T-F-M/ imp.
[Unix] Abbreviation for `Read The Fucking Manual'. 1. Used by gurus to brush off questions they consider trivial or annoying. Compare Don't do that then!. 2. Used when reporting a problem to indicate that you aren't just asking out of randomness. "No, I can't figure out how to interface Unix to my toaster, and yes, I have RTFM." Unlike sense 1, this use is considered polite. See also FM, RTFAQ, RTFB, RTFS, STFW, RTM, all of which mutated from RTFM, and compare UTSL.
Node:RTFS, Next:RTI, Previous:RTFM, Up:= R =
RTFS /R-T-F-S/
[Unix] 1. imp. Abbreviation for `Read The Fucking Source'. Variant form of RTFM, used when the problem at hand is not necessarily obvious and not answerable from the manuals -- or the manuals are not yet written and maybe never will be. For even trickier situations, see RTFB. Unlike RTFM, the anger inherent in RTFS is not usually directed at the person asking the question, but rather at the people who failed to provide adequate documentation. 2. imp. `Read The Fucking Standard'; this oath can only be used when the problem area (e.g., a language or operating system interface) has actually been codified in a ratified standards document. The existence of these standards documents (and the technically inappropriate but politically mandated compromises that they inevitably contain, and the impenetrable legalese in which they are invariably written, and the unbelievably tedious bureaucratic process by which they are produced) can be unnerving to hackers, who are used to a certain amount of ambiguity in the specifications of the systems they use. (Hackers feel that such ambiguities are acceptable as long as the Right Thing to do is obvious to any thinking observer; sadly, this casual attitude towards specifications becomes unworkable when a system becomes popular in the Real World.) Since a hacker is likely to feel that a standards document is both unnecessary and technically deficient, the deprecation inherent in this term may be directed as much against the standard as against the person who ought to read it.
Node:RTI, Next:RTM, Previous:RTFS, Up:= R =
RTI /R-T-I/ interj.
The mnemonic for the `return from interrupt' instruction on many computers including the 6502 and 6800. The variant `RETI' is found among former Z80 hackers (almost nobody programs these things in assembler anymore). Equivalent to "Now, where was I?" or used to end a conversational digression. See pop; see also POPJ.
Node:RTM, Next:RTS, Previous:RTI, Up:= R =
RTM /R-T-M/
[Usenet: abbreviation for `Read The Manual'] 1. Politer variant of RTFM. 2. Robert Tappan Morris, perpetrator of the great Internet worm of 1988 (see Great Worm); villain to many, naive hacker gone wrong to a few. Morris claimed that the worm that brought the Internet to its knees was a benign experiment that got out of control as the result of a coding error. After the storm of negative publicity that followed this blunder, Morris's username on ITS was hacked from RTM to RTFM.
Node:RTS, Next:rude, Previous:RTM, Up:= R =
RTS /R-T-S/ imp.
Abbreviation for `Read The Screen'. Mainly used by hackers in the microcomputer world. Refers to what one would like to tell the suit one is forced to explain an extremely simple application to. Particularly appropriate when the suit failed to notice the `Press any key to continue' prompt, and wishes to know `why won't it do anything'. Also seen as `RTFS' in especially deserving cases.
Node:rude, Next:runes, Previous:RTS, Up:= R =
rude [WPI] adj.
1. (of a program) Badly written. 2. Functionally poor, e.g., a program that is very difficult to use because of gratuitously poor (random?) design decisions. Oppose cuspy. 3. Anything that manipulates a shared resource without regard for its other users in such a way as to cause a (non-fatal) problem. Examples: programs that change tty modes without resetting them on exit, or windowing programs that keep forcing themselves to the top of the window stack. Compare all-elbows.
Node:runes, Next:runic, Previous:rude, Up:= R =
runes pl.n.
1. Anything that requires heavy wizardry or black art to parse: core dumps, JCL commands, APL, or code in a language you haven't a clue how to read. Not quite as bad as line noise, but close. Compare casting the runes, Great Runes. 2. Special display characters (for example, the high-half graphics on an IBM PC). 3. [borderline techspeak] 16-bit characters from the Unicode multilingual character set.
Node:runic, Next:rusty iron, Previous:runes, Up:= R =
runic adj.
Syn. obscure. VMS fans sometimes refer to Unix as `Runix'; Unix fans return the compliment by expanding VMS to `Very Messy Syntax' or `Vachement Mauvais Système' (French idiom, "Hugely Bad System").
Node:rusty iron, Next:rusty memory, Previous:runic, Up:= R =
rusty iron n.
Syn. tired iron. It has been claimed that this is the inevitable fate of water MIPS.
Node:rusty memory, Next:rusty wire, Previous:rusty iron, Up:= R =
rusty memory n.
Mass-storage that uses iron-oxide-based magnetic media (esp. tape and the pre-Winchester removable disk packs used in washing machines). Compare donuts.
Node:rusty wire, Next:S/N ratio, Previous:rusty memory, Up:= R =
rusty wire n.
[Amateur Packet Radio] Any very noisy network medium, in which the packets are subject to frequent corruption. Most prevalent in reference to wireless links subject to all the vagaries of RF noise and marginal propagation conditions. "Yes, but how good is your whizbang new protocol on really rusty wire?".
Node:= S =, Next:= T =, Previous:= R =, Up:The Jargon Lexicon
= S =
S/N ratio:
sacred:
saga:
sagan:
SAIL:
salescritter:
salt:
salt mines:
salt substrate:
same-day service:
samizdat:
samurai:
sandbender:
sandbox:
sanity check:
Saturday-night special:
say:
scag:
scanno:
scary devil monastery:
schroedinbug:
science-fiction fandom:
scram switch:
scratch:
scratch monkey:
scream and die:
screaming tty:
screen:
screen name:
screw:
screwage:
scribble:
script kiddies:
scrog:
scrool:
scrozzle:
scruffies:
SCSI:
ScumOS:
search-and-destroy mode:
second-system effect:
secondary damage:
security through obscurity:
SED:
segfault:
seggie:
segment:
segmentation fault:
segv:
self-reference:
selvage:
semi:
semi-automated:
semi-infinite:
senior bit:
September that never ended:
server:
SEX:
sex changer:
shambolic link:
shar file:
sharchive:
Share and enjoy!:
shareware:
sharing violation:
shebang:
shelfware:
shell:
shell out:
shift left (or right) logical:
shim:
shitogram:
short card:
shotgun debugging:
shovelware:
showstopper:
shriek:
Shub-Internet:
sidecar:
SIG:
sig block:
sig quote:
sig virus:
signal-to-noise ratio:
silicon:
silly walk:
silo:
Silver Book:
since time T equals minus infinity:
sitename:
skrog:
skulker:
slab:
slack:
slap on the side:
slash:
slashdot effect:
sleep:
slim:
slop:
slopsucker:
Slowlaris:
slurp:
smart:
smart terminal:
smash case:
smash the stack:
smiley:
smoke:
smoke and mirrors:
smoke test:
smoking clover:
smoot:
SMOP:
smurf:
SNAFU principle:
snail:
snail-mail:
snap:
snarf:
snarf & barf:
snarf down:
snark:
sneaker:
sneakernet:
sniff:
snivitz:
'Snooze:
SO:
social engineering:
social science number:
sock puppet:
sodium substrate:
soft boot:
softcopy:
software bloat:
software hoarding:
software laser:
software rot:
softwarily:
softy:
some random X:
sorcerer's apprentice mode:
SOS:
source:
source of all good bits:
space-cadet keyboard:
spaceship operator:
SPACEWAR:
spaghetti code:
spaghetti inheritance:
spam:
spam bait:
spamblock:
spamhaus:
spamvertize:
spangle:
spawn:
special-case:
speedometer:
spell:
spelling flame:
spider:
spider food:
spiffy:
spike:
spin:
spl:
splash screen:
splat:
splat out:
spod:
spoiler:
spoiler space:
sponge:
spoof:
spool:
spool file:
spungle:
square tape:
squirrelcide:
stack:
stack puke:
stale pointer bug:
star out:
state:
stealth manager:
steam-powered:
STFW:
stiffy:
stir-fried random:
stomp on:
Stone Age:
stone knives and bearskins:
stoppage:
store:
strided:
stroke:
strudel:
stubroutine:
studly:
studlycaps:
stunning:
stupid-sort:
Stupids:
Sturgeon's Law:
sucking mud:
sufficiently small:
suit:
suitable win:
suitably small:
Sun:
sun lounge:
sun-stools:
sunspots:
super source quench:
superloser:
superprogrammer:
superuser:
support:
surf:
Suzie COBOL:
swab:
swap:
swap space:
swapped in:
swapped out:
swizzle:
sync:
syntactic salt:
syntactic sugar:
sys-frog:
sysadmin:
sysape:
sysop:
system:
systems jock:
system mangler:
SysVile:
Node:S/N ratio, Next:sacred, Previous:rusty wire, Up:= S =
S/N ratio // n.
(also `s/n ratio', `s:n ratio'). Syn. signal-to-noise ratio. Often abbreviated `SNR'.
Node:sacred, Next:saga, Previous:S/N ratio, Up:= S =
sacred adj.
Reserved for the exclusive use of something (an extension of the standard meaning). Often means that anyone may look at the sacred object, but clobbering it will screw whatever it is sacred to. The comment "Register 7 is sacred to the interrupt handler" appearing in a program would be interpreted by a hacker to mean that if any other part of the program changes the contents of register 7, dire consequences are likely to ensue.
Node:saga, Next:sagan, Previous:sacred, Up:= S =
saga n.
[WPI] A cuspy but bogus raving story about N random broken people.
Here is a classic example of the saga form, as told by Guy L. Steele:
Jon L. White (login name JONL) and I (GLS) were office mates at MIT for many years. One April, we both flew from Boston to California for a week on research business, to consult face-to-face with some people at Stanford, particularly our mutual friend Richard P. Gabriel (RPG; see gabriel).
RPG picked us up at the San Francisco airport and drove us back to Palo Alto (going logical south on route 101, parallel to El Camino Bignum). Palo Alto is adjacent to Stanford University and about 40 miles south of San Francisco. We ate at The Good Earth, a `health food' restaurant, very popular, the sort whose milkshakes all contain honey and protein powder. JONL ordered such a shake -- the waitress claimed the flavor of the day was "lalaberry". I still have no idea what that might be, but it became a running joke. It was the color of raspberry, and JONL said it tasted rather bitter. I ate a better tostada there than I have ever had in a Mexican restaurant.
After this we went to the local Uncle Gaylord's Old Fashioned Ice Cream Parlor. They make ice cream fresh daily, in a variety of intriguing flavors. It's a chain, and they have a slogan: "If you don't live near an Uncle Gaylord's -- MOVE!" Also, Uncle Gaylord (a real person) wages a constant battle to force big-name ice cream makers to print their ingredients on the package (like air and plastic and other non-natural garbage). JONL and I had first discovered Uncle Gaylord's the previous August, when we had flown to a computer-science conference in Berkeley, California, the first time either of us had been on the West Coast. When not in the conference sessions, we had spent our time wandering the length of Telegraph Avenue, which (like Harvard Square in Cambridge) was lined with picturesque street vendors and interesting little shops. On that street we discovered Uncle Gaylord's Berkeley store. The ice cream there was very good. During that August visit JONL went absolutely bananas (so to speak) over one particular flavor, ginger honey.
Therefore, after eating at The Good Earth -- indeed, after every lunch and dinner and before bed during our April visit -- a trip to Uncle Gaylord's (the one in Palo Alto) was mandatory. We had arrived on a Wednesday, and by Thursday evening we had been there at least four times. Each time, JONL would get ginger honey ice cream, and proclaim to all bystanders that "Ginger was the spice that drove the Europeans mad! That's why they sought a route to the East! They used it to preserve their otherwise off-taste meat." After the third or fourth repetition RPG and I were getting a little tired of this spiel, and began to paraphrase him: "Wow! Ginger! The spice that makes rotten meat taste good!" "Say! Why don't we find some dog that's been run over and sat in the sun for a week and put some ginger on it for dinner?!" "Right! With a lalaberry shake!" And so on. This failed to faze JONL; he took it in good humor, as long as we kept returning to Uncle Gaylord's. He loves ginger honey ice cream.
Now RPG and his then-wife KBT (Kathy Tracy) were putting us up (putting up with us?) in their home for our visit, so to thank them JONL and I took them out to a nice French restaurant of their choosing. I unadventurously chose the filet mignon, and KBT had je ne sais quoi du jour, but RPG and JONL had lapin (rabbit). (Waitress: "Oui, we have fresh rabbit, fresh today." RPG: "Well, JONL, I guess we won't need any ginger!")
We finished the meal late, about 11 P.M., which is 2 A.M Boston time, so JONL and I were rather droopy. But it wasn't yet midnight. Off to Uncle Gaylord's!
Now the French restaurant was in Redwood City, north of Palo Alto. In leaving Redwood City, we somehow got onto route 101 going north instead of south. JONL and I wouldn't have known the difference had RPG not mentioned it. We still knew very little of the local geography. I did figure out, however, that we were headed in the direction of Berkeley, and half-jokingly suggested that we continue north and go to Uncle Gaylord's in Berkeley.
RPG said "Fine!" and we drove on for a while and talked. I was drowsy, and JONL actually dropped off to sleep for 5 minutes. When he awoke, RPG said, "Gee, JONL, you must have slept all the way over the bridge!", referring to the one spanning San Francisco Bay. Just then we came to a sign that said "University Avenue". I mumbled something about working our way over to Telegraph Avenue; RPG said "Right!" and maneuvered some more. Eventually we pulled up in front of an Uncle Gaylord's.
Now, I hadn't really been paying attention because I was so sleepy, and I didn't really understand what was happening until RPG let me in on it a few moments later, but I was just alert enough to notice that we had somehow come to the Palo Alto Uncle Gaylord's after all.
JONL noticed the resemblance to the Palo Alto store, but hadn't caught on. (The place is lit with red and yellow lights at night, and looks much different from the way it does in daylight.) He said, "This isn't the Uncle Gaylord's I went to in Berkeley! It looked like a barn! But this place looks just like the one back in Palo Alto!"
RPG deadpanned, "Well, this is the one I always come to when I'm in Berkeley. They've got two in San Francisco, too. Remember, they're a chain."
JONL accepted this bit of wisdom. And he was not totally ignorant -- he knew perfectly well that University Avenue was in Berkeley, not far from Telegraph Avenue. What he didn't know was that there is a completely different University Avenue in Palo Alto.
JONL went up to the counter and asked for ginger honey. The guy at the counter asked whether JONL would like to taste it first, evidently their standard procedure with that flavor, as not too many people like it.
JONL said, "I'm sure I like it. Just give me a cone." The guy behind the counter insisted that JONL try just a taste first. "Some people think it tastes like soap." JONL insisted, "Look, I love ginger. I eat Chinese food. I eat raw ginger roots. I already went through this hassle with the guy back in Palo Alto. I know I like that flavor!"
At the words "back in Palo Alto" the guy behind the counter got a very strange look on his face, but said nothing. KBT caught his eye and winked. Through my stupor I still hadn't quite grasped what was going on, and thought RPG was rolling on the floor laughing and clutching his stomach just because JONL had launched into his spiel ("makes rotten meat a dish for princes") for the forty-third time. At this point, RPG clued me in fully.
RPG, KBT, and I retreated to a table, trying to stifle our chuckles. JONL remained at the counter, talking about ice cream with the guy b.t.c., comparing Uncle Gaylord's to other ice cream shops and generally having a good old time.
At length the g.b.t.c. said, "How's the ginger honey?" JONL said, "Fine! I wonder what exactly is in it?" Now Uncle Gaylord publishes all his recipes and even teaches classes on how to make his ice cream at home. So the g.b.t.c. got out the recipe, and he and JONL pored over it for a while. But the g.b.t.c. could contain his curiosity no longer, and asked again, "You really like that stuff, huh?" JONL said, "Yeah, I've been eating it constantly back in Palo Alto for the past two days. In fact, I think this batch is about as good as the cones I got back in Palo Alto!"
G.b.t.c. looked him straight in the eye and said, "You're in Palo Alto!"
JONL turned slowly around, and saw the three of us collapse in a fit of giggles. He clapped a hand to his forehead and exclaimed, "I've been hacked!"
[My spies on the West Coast inform me that there is a close relative of the raspberry found out there called an `ollalieberry' --ESR]
[Ironic footnote: the meme about ginger vs. rotting meat is an urban legend. It's not borne out by an examination of medieval recipes or period purchase records for spices, and appears full-blown in the works of Samuel Pegge, a gourmand and notorious flake case who originated numerous food myths. The truth seems to be that ginger was used to cover not rot but the extreme salt taste of meat packed in brine, which was the best method available before refrigeration. --ESR]
Node:sagan, Next:SAIL, Previous:saga, Up:= S =
sagan /say'gn/ n.
[from Carl Sagan's TV series "Cosmos"; think "billions and billions"] A large quantity of anything. "There's a sagan different ways to tweak EMACS." "The U.S. Government spends sagans on bombs and welfare -- hard to say which is more destructive."
Node:SAIL, Next:salescritter, Previous:sagan, Up:= S =
SAIL /sayl/, not /S-A-I-L/ n.
1. The Stanford Artificial Intelligence Lab. An important site in the early development of LISP; with the MIT AI Lab, BBN, CMU, XEROX PARC, and the Unix community, one of the major wellsprings of technical innovation and hacker-culture traditions (see the WAITS entry for details). The SAIL machines were shut down in late May 1990, scant weeks after the MIT AI Lab's ITS cluster was officially decommissioned. 2. The Stanford Artificial Intelligence Language used at SAIL (sense 1). It was an Algol-60 derivative with a coroutining facility and some new data types intended for building search trees and association lists.
Node:salescritter, Next:salt, Previous:SAIL, Up:= S =
salescritter /sayls'kri`tr/ n.
Pejorative hackerism for a computer salesperson. Hackers tell the following joke:
Q. What's the difference between a used-car dealer and a computer salesman? A. The used-car dealer knows he's lying. [Some versions add: ...and probably knows how to drive.]
This reflects the widespread hacker belief that salescritters are self-selected for stupidity (after all, if they had brains and the inclination to use them, they'd be in programming). The terms `salesthing' and `salesdroid' are also common. Compare marketroid, suit, droid.
Node:salt, Next:salt mines, Previous:salescritter, Up:= S =
salt n.
A tiny bit of near-random data inserted where too much regularity would be undesirable; a data frob (sense 1). For example, the Unix crypt(3) man page mentions that "the salt string is used to perturb the DES algorithm in one of 4096 different ways."
Node:salt mines, Next:salt substrate, Previous:salt, Up:= S =
salt mines n.
Dense quarters housing large numbers of programmers working long hours on grungy projects, with some hope of seeing the end of the tunnel in N years. Noted for their absence of sunshine. Compare playpen, sandbox.
Node:salt substrate, Next:same-day service, Previous:salt mines, Up:= S =
salt substrate n.
[MIT] Collective noun used to refer to potato chips, pretzels, saltines, or any other form of snack food designed primarily as a carrier for sodium chloride. Also `sodium substrate'. From the technical term `chip substrate', used to refer to the silicon on the top of which the active parts of integrated circuits are deposited.
Node:same-day service, Next:samizdat, Previous:salt substrate, Up:= S =
same-day service n.
Ironic term used to describe long response time, particularly with respect to MS-DOS system calls (which ought to require only a tiny fraction of a second to execute). Such response time is a major incentive for programmers to write programs that are not well-behaved. See also PC-ism.
Node:samizdat, Next:samurai, Previous:same-day service, Up:= S =
samizdat /sahm-iz-daht/ n.
[Russian, literally "self publishing"] The process of disseminating documentation via underground channels. Originally referred to underground duplication and distribution of banned books in the Soviet Union; now refers by obvious extension to any less-than-official promulgation of textual material, esp. rare, obsolete, or never-formally-published computer documentation. Samizdat is obviously much easier when one has access to high-bandwidth networks and high-quality laser printers. Note that samizdat is properly used only with respect to documents which contain needed information (see also hacker ethic) but which are for some reason otherwise unavailable, but not in the context of documents which are available through normal channels, for which unauthorized duplication would be unethical copyright violation. See Lions Book for a historical example.
Node:samurai, Next:sandbender, Previous:samizdat, Up:= S =
samurai n.
A hacker who hires out for legal cracking jobs, snooping for factions in corporate political fights, lawyers pursuing privacy-rights and First Amendment cases, and other parties with legitimate reasons to need an electronic locksmith. In 1991, mainstream media reported the existence of a loose-knit culture of samurai that meets electronically on BBS systems, mostly bright teenagers with personal micros; they have modeled themselves explicitly on the historical samurai of Japan and on the "net cowboys" of William Gibson's cyberpunk novels. Those interviewed claim to adhere to a rigid ethic of loyalty to their employers and to disdain the vandalism and theft practiced by criminal crackers as beneath them and contrary to the hacker ethic; some quote Miyamoto Musashi's "Book of Five Rings", a classic of historical samurai doctrine, in support of these principles. See also sneaker, Stupids, social engineering, cracker, hacker ethic, and dark-side hacker.
Node:sandbender, Next:sandbox, Previous:samurai, Up:= S =
sandbender n.
[IBM] A person involved with silicon lithography and the physical design of chips. Compare ironmonger, polygon pusher.
Node:sandbox, Next:sanity check, Previous:sandbender, Up:= S =
sandbox n.
1. (also `sandbox, the') Common term for the R&D department at many software and computer companies (where hackers in commercial environments are likely to be found). Half-derisive, but reflects the truth that research is a form of creative play. Compare playpen. 2. Syn. link farm. 3. A controlled environment within which potentially dangerous programs are run. Used esp. in reference to Java implementations.
Node:sanity check, Next:Saturday-night special, Previous:sandbox, Up:= S =
sanity check n.
[very common] 1. The act of checking a piece of code (or anything else, e.g., a Usenet posting) for completely stupid mistakes. Implies that the check is to make sure the author was sane when it was written; e.g., if a piece of scientific software relied on a particular formula and was giving unexpected results, one might first look at the nesting of parentheses or the coding of the formula, as a `sanity check', before looking at the more complex I/O or data structure manipulation routines, much less the algorithm itself. Compare reality check. 2. A run-time test, either validating input or ensuring that the program hasn't screwed up internally (producing an inconsistent value or state).
Node:Saturday-night special, Next:say, Previous:sanity check, Up:= S =
Saturday-night special n.
[from police slang for a cheap handgun] A quick-and-dirty program or feature kluged together during off hours, under a deadline, and in response to pressure from a salescritter. Such hacks are dangerously unreliable, but all too often sneak into a production release after insufficient review.
Node:say, Next:scag, Previous:Saturday-night special, Up:= S =
say vt.
1. To type to a terminal. "To list a directory verbosely, you have to say ls -l." Tends to imply a newline-terminated command (a `sentence'). 2. A computer may also be said to `say' things to you, even if it doesn't have a speech synthesizer, by displaying them on a terminal in response to your commands. Hackers find it odd that this usage confuses mundanes.
Node:scag, Next:scanno, Previous:say, Up:= S =
scag vt.
To destroy the data on a disk, either by corrupting the filesystem or by causing media damage. "That last power hit scagged the system disk." Compare scrog, roach.
Node:scanno, Next:scary devil monastery, Previous:scag, Up:= S =
scanno /skan'oh/ n.
An error in a document caused by a scanner glitch, analogous to a typo or thinko.
Node:scary devil monastery, Next:schroedinbug, Previous:scanno, Up:= S =
scary devil monastery n.
Anagram frequently used to refer to the newsgroup alt.sysadmin.recovery, which is populated with characters that rather justify the reference.
Node:schroedinbug, Next:science-fiction fandom, Previous:scary devil monastery, Up:= S =
schroedinbug /shroh'din-buhg/ n.
[MIT: from the Schroedinger's Cat thought-experiment in quantum physics] A design or implementation bug in a program that doesn't manifest until someone reading source or using the program in an unusual way notices that it never should have worked, at which point the program promptly stops working for everybody until fixed. Though (like bit rot) this sounds impossible, it happens; some programs have harbored latent schroedinbugs for years. Compare heisenbug, Bohr bug, mandelbug.
Node:science-fiction fandom, Next:scram switch, Previous:schroedinbug, Up:= S =
science-fiction fandom n.
Another voluntary subculture having a very heavy overlap with hackerdom; most hackers read SF and/or fantasy fiction avidly, and many go to `cons' (SF conventions) or are involved in fandom-connected activities such as the Society for Creative Anachronism. Some hacker jargon originated in SF fandom; see defenestration, great-wall, cyberpunk, h, ha ha only serious, IMHO, mundane, neep-neep, Real Soon Now. Additionally, the jargon terms cowboy, cyberspace, de-rezz, go flatline, ice, phage, virus, wetware, wirehead, and worm originated in SF stories.
Node:scram switch, Next:scratch, Previous:science-fiction fandom, Up:= S =
scram switch n.
[from the nuclear power industry] An emergency-power-off switch (see Big Red Switch), esp. one positioned to be easily hit by evacuating personnel. In general, this is not something you frob lightly; these often initiate expensive events (such as Halon dumps) and are installed in a dinosaur pen for use in case of electrical fire or in case some luckless field servoid should put 120 volts across himself while Easter egging. (See also molly-guard, TMRC.)
A correspondent reports a legend that "Scram" is an acronym for "Start Cutting Right Away, Man" (another less plausible variant of this legend refers to "Safety Control Rod Axe Man"; these are almost certainly both backronyms). The story goes that in the earliest nuclear power experiments the engineers recognized the possibility that the reactor wouldn't behave exactly as predicted by their mathematical models. Accordingly, they made sure that they had mechanisms in place that would rapidly drop the control rods back into the reactor. One mechanism took the form of `scram technicians'. These individuals stood next to the ropes or cables that raised and lowered the control rods. Equipped with axes or cable-cutters, these technicians stood ready for the (literal) `scram' command. If necessary, they would cut the cables, and gravity would expeditiously return the control rods to the reactor, thereby averting yet another kind of core dump.
Modern reactor control rods are held in place with claw-like devices, held closed by current. SCRAM switches are circuit breakers that immediately open the circuit to the rod arms, resulting in the rapid insertion and subsequent bottoming of the control rods.
Node:scratch, Next:scratch monkey, Previous:scram switch, Up:= S =
scratch
1. [from `scratchpad'] adj. Describes a data structure or recording medium attached to a machine for testing or temporary-use purposes; one that can be scribbled on without loss. Usually in the combining forms `scratch memory', `scratch register', `scratch disk', `scratch tape', `scratch volume'. See also scratch monkey. 2. [primarily IBM] vt. To delete (as in a file).
Node:scratch monkey, Next:scream and die, Previous:scratch, Up:= S =
scratch monkey n.
As in "Before testing or reconfiguring, always mount a scratch monkey", a proverb used to advise caution when dealing with irreplaceable data or devices. Used to refer to any scratch volume hooked to a computer during any risky operation as a replacement for some precious resource or data that might otherwise get trashed.
This term preserves the memory of Mabel, the Swimming Wonder Monkey, star of a biological research program at the University of Toronto. Mabel was not (so the legend goes) your ordinary monkey; the university had spent years teaching her how to swim, breathing through a regulator, in order to study the effects of different gas mixtures on her physiology. Mabel suffered an untimely demise one day when a DEC field circus engineer troubleshooting a crash on the program's VAX inadvertently interfered with some custom hardware that was wired to Mabel.
It is reported that, after calming down an understandably irate customer sufficiently to ascertain the facts of the matter, a DEC troubleshooter called up the field circus manager responsible and asked him sweetly, "Can you swim?"
Not all the consequences to humans were so amusing; the sysop of the machine in question was nearly thrown in jail at the behest of certain clueless droids at the local `humane' society. The moral is clear: When in doubt, always mount a scratch monkey.
[The actual incident occured in 1979 or 1980. There is a version of this story, complete with reported dialogue between one of the project people and DEC field service, that has been circulating on Internet since 1986. It is hilarious and mythic, but gets some facts wrong. For example, it reports the machine as a PDP-11 and alleges that Mabel's demise occurred when DEC PMed the machine. Earlier versions of this entry were based on that story; this one has been corrected from an interview with the hapless sysop. --ESR]
Node:scream and die, Next:screaming tty, Previous:scratch monkey, Up:= S =
scream and die v.
Syn. cough and die, but connotes that an error message was printed or displayed before the program crashed.
Node:screaming tty, Next:screen, Previous:scream and die, Up:= S =
screaming tty n.
[Unix] A terminal line which spews an infinite number of random characters at the operating system. This can happen if the terminal is either disconnected or connected to a powered-off terminal but still enabled for login; misconfiguration, misimplementation, or simple bad luck can start such a terminal screaming. A screaming tty or two can seriously degrade the performance of a vanilla Unix system; the arriving "characters" are treated as userid/password pairs and tested as such. The Unix password encryption algorithm is designed to be computationally intensive in order to foil brute-force crack attacks, so although none of the logins succeeds; the overhead of rejecting them all can be substantial.
Node:screen, Next:screen name, Previous:screaming tty, Up:= S =
screen n.
[Atari ST demoscene] One demoeffect or one screenful of them. Probably comes from old Sierra-style adventures or shoot-em-ups where one travels from one place to another one screenful at a time.
Node:screen name, Next:screw, Previous:screen, Up:= S =
screen name n.
A handle sense 1. This term has been common among users of IRC, MUDs, and commercial on-line services since the mid-1990s. Hackers recognize the term but don't generally use it.
Node:screw, Next:screwage, Previous:screen name, Up:= S =
screw n.
[MIT] A lose, usually in software. Especially used for user-visible misbehavior caused by a bug or misfeature. This use has become quite widespread outside MIT.
Node:screwage, Next:scribble, Previous:screw, Up:= S =
screwage /skroo'*j/ n.
Like lossage but connotes that the failure is due to a designed-in misfeature rather than a simple inadequacy or a mere bug.
Node:scribble, Next:script kiddies, Previous:screwage, Up:= S =
scribble n.
To modify a data structure in a random and unintentionally destructive way. "Bletch! Somebody's disk-compactor program went berserk and scribbled on the i-node table." "It was working fine until one of the allocation routines scribbled on low core." Synonymous with trash; compare mung, which conveys a bit more intention, and mangle, which is more violent and final.
Node:script kiddies, Next:scrog, Previous:scribble, Up:= S =
script kiddies pl.n.
1. The lowest form of cracker; script kiddies do mischief with scripts and programs written by others, often without understanding the exploit. 2. People who cannot program, but who create tacky HTML pages by copying JavaScript routines from other tacky HTML pages. More generally, a script kiddie writes (or more likely cuts and pastes) code without either having or desiring to have a mental model of what the code does; someone who thinks of code as magical incantations and asks only "what do I need to type to make this happen?"
Node:scrog, Next:scrool, Previous:script kiddies, Up:= S =
scrog /skrog/ vt.
[Bell Labs] To damage, trash, or corrupt a data structure. "The list header got scrogged." Also reported as `skrog', and ascribed to the comic strip "The Wizard of Id". Compare scag; possibly the two are related. Equivalent to scribble or mangle.
Node:scrool, Next:scrozzle, Previous:scrog, Up:= S =
scrool /skrool/ n.
[from the pioneering Roundtable chat system in Houston ca. 1984; prob. originated as a typo for `scroll'] The log of old messages, available for later perusal or to help one get back in synch with the conversation. It was originally called the `scrool monster', because an early version of the roundtable software had a bug where it would dump all 8K of scrool on a user's terminal.
Node:scrozzle, Next:scruffies, Previous:scrool, Up:= S =
scrozzle /skroz'l/ vt.
Used when a self-modifying code segment runs incorrectly and corrupts the running program or vital data. "The damn compiler scrozzled itself again!"
Node:scruffies, Next:SCSI, Previous:scrozzle, Up:= S =
scruffies n.
See neats vs. scruffies.
Node:SCSI, Next:ScumOS, Previous:scruffies, Up:= S =
SCSI n.
[Small Computer System Interface] A bus-independent standard for system-level interfacing between a computer and intelligent devices. Typically annotated in literature with `sexy' (/sek'see/), `sissy' (/sis'ee/), and `scuzzy' (/skuh'zee/) as pronunciation guides -- the last being the overwhelmingly predominant form, much to the dismay of the designers and their marketing people. One can usually assume that a person who pronounces it /S-C-S-I/ is clueless.
Node:ScumOS, Next:search-and-destroy mode, Previous:SCSI, Up:= S =
ScumOS /skuhm'os/ or /skuhm'O-S/ n.
Unflattering hackerism for SunOS, the BSD Unix variant supported on Sun Microsystems's Unix workstations (see also sun-stools), and compare AIDX, Macintrash, Nominal Semidestructor, HP-SUX. Despite what this term might suggest, Sun was founded by hackers and still enjoys excellent relations with hackerdom; usage is more often in exasperation than outright loathing.
Node:search-and-destroy mode, Next:second-system effect, Previous:ScumOS, Up:= S =
search-and-destroy mode n.
Hackerism for a noninteractive search-and-replace facility in an editor, so called because an incautiously chosen match pattern can cause infinite damage.
Node:second-system effect, Next:secondary damage, Previous:search-and-destroy mode, Up:= S =
second-system effect n.
(sometimes, more euphoniously, `second-system syndrome') When one is designing the successor to a relatively small, elegant, and successful system, there is a tendency to become grandiose in one's success and design an elephantine feature-laden monstrosity. The term was first used by Fred Brooks in his classic "The Mythical Man-Month: Essays on Software Engineering" (Addison-Wesley, 1975; ISBN 0-201-00650-2). It described the jump from a set of nice, simple operating systems on the IBM 70xx series to OS/360 on the 360 series. A similar effect can also happen in an evolving system; see Brooks's Law, creeping elegance, creeping featurism. See also Multics, OS/2, X, software bloat.
This version of the jargon lexicon has been described (with altogether too much truth for comfort) as an example of second-system effect run amok on jargon-1....
Node:secondary damage, Next:security through obscurity, Previous:second-system effect, Up:= S =
secondary damage n.
When a fatal error occurs (esp. a segfault) the immediate cause may be that a pointer has been trashed due to a previous fandango on core. However, this fandango may have been due to an earlier fandango, so no amount of analysis will reveal (directly) how the damage occurred. "The data structure was clobbered, but it was secondary damage."
By extension, the corruption resulting from N cascaded fandangoes on core is `Nth-level damage'. There is at least one case on record in which 17 hours of grovelling with adb actually dug up the underlying bug behind an instance of seventh-level damage! The hacker who accomplished this near-superhuman feat was presented with an award by his fellows.
Node:security through obscurity, Next:SED, Previous:secondary damage, Up:= S =
security through obscurity
(alt. `security by obscurity') A term applied by hackers to most OS vendors' favorite way of coping with security holes -- namely, ignoring them, documenting neither any known holes nor the underlying security algorithms, trusting that nobody will find out about them and that people who do find out about them won't exploit them. This "strategy" never works for long and occasionally sets the world up for debacles like the RTM worm of 1988 (see Great Worm), but once the brief moments of panic created by such events subside most vendors are all too willing to turn over and go back to sleep. After all, actually fixing the bugs would siphon off the resources needed to implement the next user-interface frill on marketing's wish list -- and besides, if they started fixing security bugs customers might begin to expect it and imagine that their warranties of merchantability gave them some sort of right to a system with fewer holes in it than a shotgunned Swiss cheese, and then where would we be?
Historical note: There are conflicting stories about the origin of this term. It has been claimed that it was first used in the Usenet newsgroup in comp.sys.apollo during a campaign to get HP/Apollo to fix security problems in its Unix-clone Aegis/DomainOS (they didn't change a thing). ITS fans, on the other hand, say it was coined years earlier in opposition to the incredibly paranoid Multics people down the hall, for whom security was everything. In the ITS culture it referred to (1) the fact that by the time a tourist figured out how to make trouble he'd generally gotten over the urge to make it, because he felt part of the community; and (2) (self-mockingly) the poor coverage of the documentation and obscurity of many commands. One instance of deliberate security through obscurity is recorded; the command to allow patching the running ITS system (escape escape control-R) echoed as $$^D. If you actually typed alt alt ^D, that set a flag that would prevent patching the system even if you later got it right.
Node:SED, Next:segfault, Previous:security through obscurity, Up:= S =
SED /S-E-D/ n.
[TMRC, from `Light-Emitting Diode'] Smoke-emitting diode. A friode that lost the war. See also LER.
Node:segfault, Next:seggie, Previous:SED, Up:= S =
segfault n.,vi.
Syn. segment, segmentation fault.
Node:seggie, Next:segment, Previous:segfault, Up:= S =
seggie /seg'ee/ n.
[Unix] Shorthand for segmentation fault reported from Britain.
Node:segment, Next:segmentation fault, Previous:seggie, Up:= S =
segment /seg'ment/ vi.
To experience a segmentation fault. Confusingly, this is often pronounced more like the noun `segment' than like mainstream v. segment; this is because it is actually a noun shorthand that has been verbed.
Node:segmentation fault, Next:segv, Previous:segment, Up:= S =
segmentation fault n.
[Unix] 1. [techspeak] An error in which a running program attempts to access memory not allocated to it and core dumps with a segmentation violation error. This is often caused by improper usage of pointers in the source code, dereferencing a null pointer, or (in C) inadvertently using a non-pointer variable as a pointer. The classic example is:
int i; scanf ("%d", i); /* should have used &i */
2. To lose a train of thought or a line of reasoning. Also uttered as an exclamation at the point of befuddlement.
Node:segv, Next:self-reference, Previous:segmentation fault, Up:= S =
segv /seg'vee/ n.,vi.
Yet another synonym for segmentation fault (actually, in this case, `segmentation violation').
Node:self-reference, Next:selvage, Previous:segv, Up:= S =
self-reference n.
See self-reference.
Node:selvage, Next:semi, Previous:self-reference, Up:= S =
selvage /sel'v*j/ n.
[from sewing and weaving] See chad (sense 1).
Node:semi, Next:semi-automated, Previous:selvage, Up:= S =
semi /se'mee/ or /se'mi:/
1. n. Abbreviation for `semicolon', when speaking. "Commands to grind are prefixed by semi-semi-star" means that the prefix is ;;*, not 1/4 of a star. 2. A prefix used with words such as `immediately' as a qualifier. "When is the system coming up?" "Semi-immediately." (That is, maybe not for an hour.) "We did consider that possibility semi-seriously." See also infinite.
Node:semi-automated, Next:semi-infinite, Previous:semi, Up:= S =
semi-automated adj.
[US Geological Survey] A procedure that has yet to be completely automated; it still requires a smidge of clueful human interaction. Semi-automated programs usually come with written-out operator instructions that are worth their weight in gold - without them, very nasty things can happen. At USGS semi-automated programs are often referred to as "semi-automated weapons".
Node:semi-infinite, Next:senior bit, Previous:semi-automated, Up:= S =
semi-infinite n.
See infinite.
Node:senior bit, Next:September that never ended, Previous:semi-infinite, Up:= S =
senior bit n.
[IBM; rare] Syn. meta bit.
Node:September that never ended, Next:server, Previous:senior bit, Up:= S =
September that never ended
All time since September 1993. One of the seasonal rhythms of the Usenet used to be the annual September influx of clueless newbies who, lacking any sense of netiquette, made a general nuisance of themselves. This coincided with people starting college, getting their first internet accounts, and plunging in without bothering to learn what was acceptable. These relatively small drafts of newbies could be assimilated within a few months. But in September 1993, AOL users became able to post to Usenet, nearly overwhelming the old-timers' capacity to acculturate them; to those who nostalgically recall the period before hand, this triggered an inexorable decline in the quality of discussions on newsgroups. See also AOL!.
Node:server, Next:SEX, Previous:September that never ended, Up:= S =
server n.
A kind of daemon that performs a service for the requester and which often runs on a computer other than the one on which the server runs. A particularly common term on the Internet, which is rife with `web servers', `name servers', `domain servers', `news servers', `finger servers', and the like.
Node:SEX, Next:sex changer, Previous:server, Up:= S =
SEX /seks/
[Sun Users' Group & elsewhere] n. 1. Software EXchange. A technique invented by the blue-green algae hundreds of millions of years ago to speed up their evolution, which had been terribly slow up until then. Today, SEX parties are popular among hackers and others (of course, these are no longer limited to exchanges of genetic software). In general, SEX parties are a Good Thing, but unprotected SEX can propagate a virus. See also pubic directory. 2. The rather Freudian mnemonic often used for Sign EXtend, a machine instruction found in the PDP-11 and many other architectures. The RCA 1802 chip used in the early Elf and SuperElf personal computers had a `SEt X register' SEX instruction, but this seems to have had little folkloric impact. The Data General instruction set also had SEX.
DEC's engineers nearly got a PDP-11 assembler that used the SEX mnemonic out the door at one time, but (for once) marketing wasn't asleep and forced a change. That wasn't the last time this happened, either. The author of "The Intel 8086 Primer", who was one of the original designers of the 8086, noted that there was originally a SEX instruction on that processor, too. He says that Intel management got cold feet and decreed that it be changed, and thus the instruction was renamed CBW and CWD (depending on what was being extended). Amusingly, the Intel 8048 (the microcontroller used in IBM PC keyboards) is also missing straight SEX but has logical-or and logical-and instructions ORL and ANL.
The Motorola 6809, used in the Radio Shack Color Computer and in U.K.'s `Dragon 32' personal computer, actually had an official SEX instruction; the 6502 in the Apple II with which it competed did not. British hackers thought this made perfect mythic sense; after all, it was commonly observed, you could (on some theoretical level) have sex with a dragon, but you can't have sex with an apple.
Node:sex changer, Next:shambolic link, Previous:SEX, Up:= S =
sex changer n.
Syn. gender mender.
Node:shambolic link, Next:shar file, Previous:sex changer, Up:= S =
shambolic link /sham-bol'ik link/ n.
A Unix symbolic link, particularly when it confuses you, points to nothing at all, or results in your ending up in some completely unexpected part of the filesystem....
Node:shar file, Next:sharchive, Previous:shambolic link, Up:= S =
shar file /shar' fi:l/ n.
Syn. sharchive.
Node:sharchive, Next:Share and enjoy!, Previous:shar file, Up:= S =
sharchive /shar'ki:v/ n.
[Unix and Usenet; from /bin/sh archive] A flattened representation of a set of one or more files, with the unique property that it can be unflattened (the original files restored) by feeding it through a standard Unix shell; thus, a sharchive can be distributed to anyone running Unix, and no special unpacking software is required. Sharchives are also intriguing in that they are typically created by shell scripts; the script that produces sharchives is thus a script which produces self-unpacking scripts, which may themselves contain scripts. (The downsides of sharchives are that they are an ideal venue for Trojan horse attacks and that, for recipients not running Unix, no simple un-sharchiving program is possible; sharchives can and do make use of arbitrarily-powerful shell features.) Sharchives are also commonly referred to as `shar files' after the name of the most common program for generating them.
Node:Share and enjoy!, Next:shareware, Previous:sharchive, Up:= S =
Share and enjoy! imp.
1. Commonly found at the end of software release announcements and README files, this phrase indicates allegiance to the hacker ethic of free information sharing (see hacker ethic, sense 1). 2. The motto of the complaints division of Sirius Cybernetics Corporation (the ultimate gaggle of incompetent suits) in Douglas Adams's "Hitch Hiker's Guide to the Galaxy". The irony of using this as a cultural recognition signal appeals to hackers.
Node:shareware, Next:sharing violation, Previous:Share and enjoy!, Up:= S =
shareware /sheir'weir/ n.
A kind of freeware (sense 1) for which the author requests some payment, usually in the accompanying documentation files or in an announcement made by the software itself. Such payment may or may not buy additional support or functionality. See also careware, charityware, crippleware, FRS, guiltware, postcardware, and -ware; compare payware.
Node:sharing violation, Next:shebang, Previous:shareware, Up:= S =
sharing violation
[From a file error common to several OSs] A response to receiving information, typically of an excessively personal nature, that you were probably happier not knowing. "You know those little noises that Pat makes in bed..?" "Whoa! Sharing violation!" In contrast to the original file error, which indicated that you were not being given data that you did want.
Node:shebang, Next:shelfware, Previous:sharing violation, Up:= S =
shebang /sh*-bang/ n.
The character sequence "#!" that frequently begins executable shell scripts under Unix. Probably derived from "shell bang" under the influence of American slang "the whole shebang" (everything, the works).
Node:shelfware, Next:shell, Previous:shebang, Up:= S =
shelfware /shelf'weir/ n.
Software purchased on a whim (by an individual user) or in accordance with policy (by a corporation or government agency), but not actually required for any particular use. Therefore, it often ends up on some shelf.
Node:shell, Next:shell out, Previous:shelfware, Up:= S =
shell [orig. Multics n.
techspeak, widely propagated via Unix] 1. [techspeak] The command interpreter used to pass commands to an operating system; so called because it is the part of the operating system that interfaces with the outside world. 2. More generally, any interface program that mediates access to a special resource or server for convenience, efficiency, or security reasons; for this meaning, the usage is usually `a shell around' whatever. This sort of program is also called a `wrapper'. 3. A skeleton program, created by hand or by another program (like, say, a parser generator), which provides the necessary incantations to set up some task and the control flow to drive it (the term driver is sometimes used synonymously). The user is meant to fill in whatever code is needed to get real work done. This usage is common in the AI and Microsoft Windows worlds, and confuses Unix hackers.
Historical note: Apparently, the original Multics shell (sense 1) was so called because it was a shell (sense 3); it ran user programs not by starting up separate processes, but by dynamically linking the programs into its own code, calling them as subroutines, and then dynamically de-linking them on return. The VMS command interpreter still does something very like this.
Node:shell out, Next:shift left (or right) logical, Previous:shell, Up:= S =
shell out vi.
[Unix] To spawn an interactive subshell from within a program (e.g., a mailer or editor). "Bang foo runs foo in a subshell, while bang alone shells out."
Node:shift left (or right) logical, Next:shim, Previous:shell out, Up:= S =
shift left (or right) logical
[from any of various machines' instruction sets] 1. vi. To move oneself to the left (right). To move out of the way. 2. imper. "Get out of that (my) seat! You can shift to that empty one to the left (right)." Often used without the `logical', or as `left shift' instead of `shift left'. Sometimes heard as LSH /lish/, from the PDP-10 instruction set. See Programmer's Cheer.
Node:shim, Next:shitogram, Previous:shift left (or right) logical, Up:= S =
shim n.
A small piece of data inserted in order to achieve a desired memory alignment or other addressing property. For example, the PDP-11 Unix linker, in split I&D (instructions and data) mode, inserts a two-byte shim at location 0 in data space so that no data object will have an address of 0 (and be confused with the C null pointer). See also loose bytes.
Node:shitogram, Next:short card, Previous:shim, Up:= S =
shitogram /shit'oh-gram/ n.
A really nasty piece of email. Compare nastygram, flame.
Node:short card, Next:shotgun debugging, Previous:shitogram, Up:= S =
short card n.
A half-length IBM XT expansion card or adapter that will fit in one of the two short slots located towards the right rear of a standard chassis (tucked behind the floppy disk drives). See also tall card.
Node:shotgun debugging, Next:shovelware, Previous:short card, Up:= S =
shotgun debugging n.
The software equivalent of Easter egging; the making of relatively undirected changes to software in the hope that a bug will be perturbed out of existence. This almost never works, and usually introduces more bugs.
Node:shovelware, Next:showstopper, Previous:shotgun debugging, Up:= S =
shovelware /shuh'v*l-weir`/ n.
1. Extra software dumped onto a CD-ROM or tape to fill up the remaining space on the medium after the software distribution it's intended to carry, but not integrated with the distribution. 2. A slipshod compilation of software dumped onto a CD-ROM without much care for organization or even usability.
Node:showstopper, Next:shriek, Previous:shovelware, Up:= S =
showstopper n.
A hardware or (especially) software bug that makes an implementation effectively unusable; one that absolutely has to be fixed before development can go on. Opposite in connotation from its original theatrical use, which refers to something stunningly good.
Node:shriek, Next:Shub-Internet, Previous:showstopper, Up:= S =
shriek n.
See excl. Occasional CMU usage, also in common use among APL fans and mathematicians, especially category theorists.
Node:Shub-Internet, Next:sidecar, Previous:shriek, Up:= S =
Shub-Internet /shuhb' in't*r-net/ n.
[MUD: from H. P. Lovecraft's evil fictional deity Shub-Niggurath, the Black Goat with a Thousand Young] The harsh personification of the Internet: Beast of a Thousand Processes, Eater of Characters, Avatar of Line Noise, and Imp of Call Waiting; the hideous multi-tendriled entity formed of all the manifold connections of the net. A sect of MUDders worships Shub-Internet, sacrificing objects and praying for good connections. To no avail -- its purpose is malign and evil, and is the cause of all network slowdown. Often heard as in "Freela casts a tac nuke at Shub-Internet for slowing her down." (A forged response often follows along the lines of: "Shub-Internet gulps down the tac nuke and burps happily.") Also cursed by users of the Web, FTP and TELNET when the system slows down. The dread name of Shub-Internet is seldom spoken aloud, as it is said that repeating it three times will cause the being to wake, deep within its lair beneath the Pentagon. Compare Random Number God.
[January 1996: It develops that one of the computer administrators in the basement of the Pentagon read this entry and fell over laughing. As a result, you too can now poke Shub-Internet by pinging shub-internet.ims.disa.mil. See also kremvax. - ESR]
[April 1999: shub-internet.ims.disa.mil is no more, alas. But Shub-Internet lives o^$#$*^ - ESR]
Node:sidecar, Next:SIG, Previous:Shub-Internet, Up:= S =
sidecar n.
1. Syn. slap on the side. Esp. used of add-ons for the late and unlamented IBM PCjr. 2. The IBM PC compatibility box that could be bolted onto the side of an Amiga. Designed and produced by Commodore, it broke all of the company's own design rules. If it worked with any other peripherals, it was by magic. 3. More generally, any of various devices designed to be connected to the expansion slot on the left side of the Amiga 500 (and later, 600 & 1200), which included a hard drive controller, a hard drive, and additional memory.
Node:SIG, Next:sig block, Previous:sidecar, Up:= S =
SIG /sig/ n.
(also common as a prefix in combining forms) A Special Interest Group, in one of several technical areas, sponsored by the Association for Computing Machinery; well-known ones include SIGPLAN (the Special Interest Group on Programming Languages), SIGARCH (the Special Interest Group for Computer Architecture) and SIGGRAPH (the Special Interest Group for Computer Graphics). Hackers, not surprisingly, like to overextend this naming convention to less formal associations like SIGBEER (at ACM conferences) and SIGFOOD (at University of Illinois).
Node:sig block, Next:sig quote, Previous:SIG, Up:= S =
sig block /sig blok/ n.
[Unix; often written `.sig' there] Short for `signature', used specifically to refer to the electronic signature block that most Unix mail- and news-posting software will automagically append to outgoing mail and news. The composition of one's sig can be quite an art form, including an ASCII logo or one's choice of witty sayings (see sig quote, fool file); but many consider large sigs a waste of bandwidth, and it has been observed that the size of one's sig block is usually inversely proportional to one's longevity and level of prestige on the net. See also doubled sig.
Node:sig quote, Next:sig virus, Previous:sig block, Up:= S =
sig quote /sig kwoht/ n.
[Usenet] A maxim, quote, proverb, joke, or slogan embedded in one's sig block and intended to convey something of one's philosophical stance, pet peeves, or sense of humor. "Calm down, it's only ones and zeroes."
Node:sig virus, Next:signal-to-noise ratio, Previous:sig quote, Up:= S =
sig virus n.
A parasitic meme embedded in a sig block. There was a meme plague or fad for these on Usenet in late 1991. Most were equivalents of "I am a .sig virus. Please reproduce me in your .sig block.". Of course, the .sig virus's memetic hook is the giggle value of going along with the gag; this, however, was a self-limiting phenomenon as more and more people picked up on the idea. There were creative variants on it; some people stuck `sig virus antibody' texts in their sigs, and there was at least one instance of a sig virus eater.
Node:signal-to-noise ratio, Next:silicon, Previous:sig virus, Up:= S =
signal-to-noise ratio [from analog electronics] n.
Used by hackers in a generalization of its technical meaning. `Signal' refers to useful information conveyed by some communications medium, and `noise' to anything else on that medium. Hence a low ratio implies that it is not worth paying attention to the medium in question. Figures for such metaphorical ratios are never given. The term is most often applied to Usenet newsgroups during flame wars. Compare bandwidth. See also coefficient of X, lost in the noise.
Node:silicon, Next:silly walk, Previous:signal-to-noise ratio, Up:= S =
silicon n.
Hardware, esp. ICs or microprocessor-based computer systems (compare iron). Contrasted with software. See also sandbender.
Node:silly walk, Next:silo, Previous:silicon, Up:= S =
silly walk vi.
[from Monty Python's Flying Circus] 1. A ridiculous procedure required to accomplish a task. Like grovel, but more random and humorous. "I had to silly-walk through half the /usr directories to find the maps file." 2. Syn. fandango on core.
Node:silo, Next:Silver Book, Previous:silly walk, Up:= S =
silo n.
The FIFO input-character buffer in an RS-232 line card. So called from DEC terminology used on DH and DZ line cards for the VAX and PDP-11, presumably because it was a storage space for fungible stuff that went in at the top and came out at the bottom.
Node:Silver Book, Next:since time T equals minus infinity, Previous:silo, Up:= S =
Silver Book n.
Jensen and Wirth's infamous "Pascal User Manual and Report", so called because of the silver cover of the widely distributed Springer-Verlag second edition of 1978 (ISBN 0-387-90144-2). See book titles, Pascal.
Node:since time T equals minus infinity, Next:sitename, Previous:Silver Book, Up:= S =
since time T equals minus infinity adv.
A long time ago; for as long as anyone can remember; at the time that some particular frob was first designed. Usually the word `time' is omitted. See also time T; contrast epoch.
Node:sitename, Next:skrog, Previous:since time T equals minus infinity, Up:= S =
sitename /si:t'naym/ n.
[Unix/Internet] The unique electronic name of a computer system, used to identify it in UUCP mail, Usenet, or other forms of electronic information interchange. The folklore interest of sitenames stems from the creativity and humor they often display. Interpreting a sitename is not unlike interpreting a vanity license plate; one has to mentally unpack it, allowing for mono-case and length restrictions and the lack of whitespace. Hacker tradition deprecates dull, institutional-sounding names in favor of punchy, humorous, and clever coinages (except that it is considered appropriate for the official public gateway machine of an organization to bear the organization's name or acronym). Mythological references, cartoon characters, animal names, and allusions to SF or fantasy literature are probably the most popular sources for sitenames (in roughly descending order). The obligatory comment when discussing these is Harris's Lament: "All the good ones are taken!" See also network address.
Node:skrog, Next:skulker, Previous:sitename, Up:= S =
skrog v.
Syn. scrog.
Node:skulker, Next:slab, Previous:skrog, Up:= S =
skulker n.
Syn. prowler.
Node:slab, Next:slack, Previous:skulker, Up:= S =
slab [Apple]
1. n. A continuous horizontal line of pixels, all with the same color. 2. vi. To paint a slab on an output device. Apple's QuickDraw, like most other professional-level graphics systems, renders polygons and lines not with Bresenham's algorithm, but by calculating `slab points' for each scan line on the screen in succession, and then slabbing in the actual image pixels.
Node:slack, Next:slap on the side, Previous:slab, Up:= S =
slack n.
1. Space allocated to a disk file but not actually used to store useful information. The techspeak equivalent is `internal fragmentation'. Antonym: hole. 2. In the theology of the Church of the SubGenius, a mystical substance or quality that is the prerequisite of all human happiness.
Since Unix files are stored compactly, except for the unavoidable wastage in the last block or fragment, it might be said that "Unix has no slack". See ha ha only serious.
Node:slap on the side, Next:slash, Previous:slack, Up:= S =
slap on the side n.
(also called a sidecar, or abbreviated `SOTS'.) A type of external expansion hardware marketed by computer manufacturers (e.g., Commodore for the Amiga 500/1000 series and IBM for the hideous failure called `PCjr'). Various SOTS boxes provided necessities such as memory, hard drive controllers, and conventional expansion slots.
Node:slash, Next:slashdot effect, Previous:slap on the side, Up:= S =
slash n.
Common name for the slant (`/', ASCII 0101111) character. See ASCII for other synonyms.
Node:slashdot effect, Next:sleep, Previous:slash, Up:= S =
slashdot effect n.
1. Also spelled "/. effect"; what is said to have happened when a website being virtually unreachable because too many people are hitting it after the site was mentioned in an interesting article on the popular Slashdot news service. The term is quite widely used by /. readers, including variants like "That site has been slashdotted again!" 2. In a perhaps inevitable generation, the term is being used to describe any similar effect from being listed on a popular site. This would better be described as a flash crowd.
Node:sleep, Next:slim, Previous:slashdot effect, Up:= S =
sleep vi.
1. [techspeak] To relinquish a claim (of a process on a multitasking system) for service; to indicate to the scheduler that a process may be deactivated until some given event occurs or a specified time delay elapses. 2. In jargon, used very similarly to v. block; also in `sleep on', syn. with `block on'. Often used to indicate that the speaker has relinquished a demand for resources until some (possibly unspecified) external event: "They can't get the fix I've been asking for into the next release, so I'm going to sleep on it until the release, then start hassling them again."
Node:slim, Next:slop, Previous:sleep, Up:= S =
slim n.
A small, derivative change (e.g., to code).
Node:slop, Next:slopsucker, Previous:slim, Up:= S =
slop n.
1. A one-sided fudge factor, that is, an allowance for error but in only one of two directions. For example, if you need a piece of wire 10 feet long and have to guess when you cut it, you make very sure to cut it too long, by a large amount if necessary, rather than too short by even a little bit, because you can always cut off the slop but you can't paste it back on again. When discrete quantities are involved, slop is often introduced to avoid the possibility of being on the losing side of a fencepost error. 2. The percentage of `extra' code generated by a compiler over the size of equivalent assembler code produced by hand-hacking; i.e., the space (or maybe time) you lose because you didn't do it yourself. This number is often used as a measure of the goodness of a compiler; slop below 5% is very good, and 10% is usually acceptable. With modern compiler technology, esp. on RISC machines, the compiler's slop may actually be negative; that is, humans may be unable to generate code as good. This is one of the reasons assembler programming is no longer common.
Node:slopsucker, Next:Slowlaris, Previous:slop, Up:= S =
slopsucker /slop'suhk-r/ n.
A lowest-priority task that waits around until everything else has `had its fill' of machine resources. Only when the machine would otherwise be idle is the task allowed to `suck up the slop'. Also called a `hungry puppy' or `bottom feeder'. One common variety of slopsucker hunts for large prime numbers. Compare background.
Node:Slowlaris, Next:slurp, Previous:slopsucker, Up:= S =
Slowlaris /slo'-lahr-is/ n.
[Usenet; poss. from the variety of prosimian called a "slow loris". The variant `Slowlartus' is also common, related to LART] Common hackish term for Solaris, Sun's System VR4 version of UNIX that came out of the standardization wars of the early 1990s. So named because especially on older hardware, responsiveness was much less crisp than under the preceding SunOS. Early releases of Solaris (that is, Solaris 2, as some marketroids at Sun retroactively rechristened SunOS as Solaris 1) were quite buggy, and Sun was forced by customer demand to support SunOS for quite some time. Newer versions are acknowledged to be among the best commercial UNIX variants in 1998, but still lose single-processor benchmarks to Sparc Linux. Compare AIDX, HP-SUX, Nominal Semidestructor, Telerat, sun-stools.
Node:slurp, Next:smart, Previous:Slowlaris, Up:= S =
slurp vt.
To read a large data file entirely into core before working on it. This may be contrasted with the strategy of reading a small piece at a time, processing it, and then reading the next piece. "This program slurps in a 1K-by-1K matrix and does an FFT." See also sponge.
Node:smart, Next:smart terminal, Previous:slurp, Up:= S =
smart adj.
Said of a program that does the Right Thing in a wide variety of complicated circumstances. There is a difference between calling a program smart and calling it intelligent; in particular, there do not exist any intelligent programs (yet -- see AI-complete). Compare robust (smart programs can be brittle).
Node:smart terminal, Next:smash case, Previous:smart, Up:= S =
smart terminal n.
1. A terminal that has enough computing capability to render graphics or to offload some kind of front-end processing from the computer it talks to. The development of workstations and personal computers has made this term and the product it describes semi-obsolescent, but one may still hear variants of the phrase `act like a smart terminal' used to describe the behavior of workstations or PCs with respect to programs that execute almost entirely out of a remote server's storage, using local devices as displays. 2. obs. Any terminal with an addressable cursor; the opposite of a glass tty. Today, a terminal with merely an addressable cursor, but with none of the more-powerful features mentioned in sense 1, is called a dumb terminal.
There is a classic quote from Rob Pike (inventor of the blit terminal): "A smart terminal is not a smartass terminal, but rather a terminal you can educate." This illustrates a common design problem: The attempt to make peripherals (or anything else) intelligent sometimes results in finicky, rigid `special features' that become just so much dead weight if you try to use the device in any way the designer didn't anticipate. Flexibility and programmability, on the other hand, are really smart. Compare hook.
Node:smash case, Next:smash the stack, Previous:smart terminal, Up:= S =
smash case vi.
To lose or obliterate the uppercase/lowercase distinction in text input. "MS-DOS will automatically smash case in the names of all the files you create." Compare fold case.
Node:smash the stack, Next:smiley, Previous:smash case, Up:= S =
smash the stack n.
[C programming] To corrupt the execution stack by writing past the end of a local array or other data structure. Code that smashes the stack can cause a return from the routine to jump to a random address, resulting in some of the most insidious data-dependent bugs known to mankind. Variants include `trash' the stack, scribble the stack, mangle the stack; the term **mung the stack is not used, as this is never done intentionally. See spam; see also aliasing bug, fandango on core, memory leak, memory smash, precedence lossage, overrun screw.
Node:smiley, Next:smoke, Previous:smash the stack, Up:= S =
smiley n.
See emoticon.
Node:smoke, Next:smoke and mirrors, Previous:smiley, Up:= S =
smoke vi.
1. To crash or blow up, usually spectacularly. "The new version smoked, just like the last one." Used for both hardware (where it often describes an actual physical event), and software (where it's merely colorful). 2. [from automotive slang] To be conspicuously fast. "That processor really smokes." Compare magic smoke.
Node:smoke and mirrors, Next:smoke test, Previous:smoke, Up:= S =
smoke and mirrors n.
Marketing deceptions. The term is mainstream in this general sense. Among hackers it's strongly associated with bogus demos and crocked benchmarks (see also MIPS, machoflops). "They claim their new box cranks 50 MIPS for under $5000, but didn't specify the instruction mix -- sounds like smoke and mirrors to me." The phrase, popularized by newspaper columnist Jimmy Breslin c.1975, has been said to derive from carnie slang for magic acts and `freak show' displays that depend on `trompe l'oeil' effects, but also calls to mind the fierce Aztec god Tezcatlipoca (lit. "Smoking Mirror") for whom the hearts of huge numbers of human sacrificial victims were regularly cut out. Upon hearing about a rigged demo or yet another round of fantasy-based marketing promises, hackers often feel analogously disheartened. See also stealth manager.
Node:smoke test, Next:smoking clover, Previous:smoke and mirrors, Up:= S =
smoke test n.
1. A rudimentary form of testing applied to electronic equipment following repair or reconfiguration, in which power is applied and the tester checks for sparks, smoke, or other dramatic signs of fundamental failure. See magic smoke. 2. By extension, the first run of a piece of software after construction or a critical change. See and compare reality check.
There is an interesting semi-parallel to this term among typographers and printers: When new typefaces are being punch-cut by hand, a `smoke test' (hold the letter in candle smoke, then press it onto paper) is used to check out new dies.
Node:smoking clover, Next:smoot, Previous:smoke test, Up:= S =
smoking clover n.
[ITS] A display hack originally due to Bill Gosper. Many convergent lines are drawn on a color monitor in such a way that every pixel struck has its color incremented. The lines all have one endpoint in the middle of the screen; the other endpoints are spaced one pixel apart around the perimeter of a large square. The color map is then repeatedly rotated. This results in a striking, rainbow-hued, shimmering four-leaf clover. Gosper joked about keeping it hidden from the FDA (the U.S.'s Food and Drug Administration) lest its hallucinogenic properties cause it to be banned.
Node:smoot, Next:SMOP, Previous:smoking clover, Up:= S =
smoot /smoot/ n.
[MIT] A unit of length equal five feet seven inches. The length of the Harvard Bridge in Boston is famously 364.4 smoots plus or minus an ear (the ear stands for epsilon). This legend began with a fraternity prank in 1958 during which the body length of Oliver Smoot (class of '62) was actually used to measure out that distance. It is commemorated by smoot marks that MIT students repaint every few years; the tradition even survived the demolition and rebuilding of the bridge in the late 1980s. The Boston police have been known to use smoot markers to indicate accident locations on the bridge.
Node:SMOP, Next:smurf, Previous:smoot, Up:= S =
SMOP /S-M-O-P/ n.
[Simple (or Small) Matter of Programming] 1. A piece of code, not yet written, whose anticipated length is significantly greater than its complexity. Used to refer to a program that could obviously be written, but is not worth the trouble. Also used ironically to imply that a difficult problem can be easily solved because a program can be written to do it; the irony is that it is very clear that writing such a program will be a great deal of work. "It's easy to enhance a FORTRAN compiler to compile COBOL as well; it's just an SMOP." 2. Often used ironically by the intended victim when a suggestion for a program is made which seems easy to the suggester, but is obviously (to the victim) a lot of work.
Node:smurf, Next:SNAFU principle, Previous:SMOP, Up:= S =
smurf /smerf/ n.
1. [from the soc.motss newsgroup on Usenet, after some obnoxiously gooey cartoon characters] A newsgroup regular with a habitual style that is irreverent, silly, and cute. Like many other hackish terms for people, this one may be praise or insult depending on who uses it. In general, being referred to as a smurf is probably not going to make your day unless you've previously adopted the label yourself in a spirit of irony. Compare old fart. 2. [techspeak] A ping packet with a forged source address sent to some other network's broadcast address. All the machines on the destination network will send a ping response to the forged source address (the victim). This both overloads the victim's network and hides the location of the attacker.
Node:SNAFU principle, Next:snail, Previous:smurf, Up:= S =
SNAFU principle /sna'foo prin'si-pl/ n.
[from a WWII Army acronym for `Situation Normal, All Fucked Up'] "True communication is possible only between equals, because inferiors are more consistently rewarded for telling their superiors pleasant lies than for telling the truth." -- a central tenet of Discordianism, often invoked by hackers to explain why authoritarian hierarchies screw up so reliably and systematically. The effect of the SNAFU principle is a progressive disconnection of decision-makers from reality. This lightly adapted version of a fable dating back to the early 1960s illustrates the phenomenon perfectly:
In the beginning was the plan,
and then the specification;
And the plan was without form,
and the specification was void.
And darkness
was on the faces of the implementors thereof;
And they spake unto their leader,
saying:
"It is a crock of shit,
and smells as of a sewer."
And the leader took pity on them,
and spoke to the project leader:
"It is a crock of excrement,
and none may abide the odor thereof."
And the project leader
spake unto his section head, saying:
"It is a container of excrement,
and it is very strong, such that none may abide it."
The section head then hurried to his department manager,
and informed him thus:
"It is a vessel of fertilizer,
and none may abide its strength."
The department manager carried these words
to his general manager,
and spoke unto him
saying:
"It containeth that which aideth the growth of plants,
and it is very strong."
And so it was that the general manager rejoiced
and delivered the good news unto the Vice President.
"It promoteth growth,
and it is very powerful."
The Vice President rushed to the President's side,
and joyously exclaimed:
"This powerful new software product
will promote the growth of the company!"
And the President looked upon the product,
and saw that it was very good.
After the subsequent and inevitable disaster, the suits protect themselves by saying "I was misinformed!", and the implementors are demoted or fired. Compare Conway's Law.
Node:snail, Next:snail-mail, Previous:SNAFU principle, Up:= S =
snail vt.
To snail-mail something. "Snail me a copy of those graphics, will you?"
Node:snail-mail, Next:snap, Previous:snail, Up:= S =
snail-mail n.
Paper mail, as opposed to electronic. Sometimes written as the single word `SnailMail'. One's postal address is, correspondingly, a `snail address'. Derives from earlier coinage `USnail' (from `U.S. Mail'), for which there have even been parody posters and stamps made. Also (less commonly) called `P-mail', from `paper mail' or `physical mail'. Oppose email.
Node:snap, Next:snarf, Previous:snail-mail, Up:= S =
snap v.
To replace a pointer to a pointer with a direct pointer; to replace an old address with the forwarding address found there. If you telephone the main number for an institution and ask for a particular person by name, the operator may tell you that person's extension before connecting you, in the hopes that you will `snap your pointer' and dial direct next time. The underlying metaphor may be that of a rubber band stretched through a number of intermediate points; if you remove all the thumbtacks in the middle, it snaps into a straight line from first to last. See chase pointers.
Often, the behavior of a trampoline is to perform an error check once and then snap the pointer that invoked it so as henceforth to bypass the trampoline (and its one-shot error check). In this context one also speaks of `snapping links'. For example, in a LISP implementation, a function interface trampoline might check to make sure that the caller is passing the correct number of arguments; if it is, and if the caller and the callee are both compiled, then snapping the link allows that particular path to use a direct procedure-call instruction with no further overhead.
Node:snarf, Next:snarf & barf, Previous:snap, Up:= S =
snarf /snarf/ vt.
1. To grab, esp. to grab a large document or file for the purpose of using it with or without the author's permission. See also BLT. 2. [in the Unix community] To fetch a file or set of files across a network. See also blast. This term was mainstream in the late 1960s, meaning `to eat piggishly'. It may still have this connotation in context. "He's in the snarfing phase of hacking -- FTPing megs of stuff a day." 3. To acquire, with little concern for legal forms or politesse (but not quite by stealing). "They were giving away samples, so I snarfed a bunch of them." 4. Syn. for slurp. "This program starts by snarfing the entire database into core, then...." 5. [GEnie] To spray food or programming fluids due to laughing at the wrong moment. "I was drinking coffee, and when I read your post I snarfed all over my desk." "If I keep reading this topic, I think I'll have to snarf-proof my computer with a keyboard condom." [This sense appears to be widespread among mundane teenagers --ESR]
Node:snarf & barf, Next:snarf down, Previous:snarf, Up:= S =
snarf & barf /snarf'n-barf`/ n.
Under a WIMP environment, the act of grabbing a region of text and then stuffing the contents of that region into another region (or the same one) to avoid retyping a command line. In the late 1960s, this was a mainstream expression for an `eat now, regret it later' cheap-restaurant expedition.
Node:snarf down, Next:snark, Previous:snarf & barf, Up:= S =
snarf down v.
To snarf, with the connotation of absorbing, processing, or understanding. "I'll snarf down the latest version of the nethack user's guide -- it's been a while since I played last and I don't know what's changed recently."
Node:snark, Next:sneaker, Previous:snarf down, Up:= S =
snark n.
[Lewis Carroll, via the Michigan Terminal System] 1. A system failure. When a user's process bombed, the operator would get the message "Help, Help, Snark in MTS!" 2. More generally, any kind of unexplained or threatening event on a computer (especially if it might be a boojum). Often used to refer to an event or a log file entry that might indicate an attempted security violation. See snivitz. 3. UUCP name of snark.thyrsus.com, home site of the Jargon File versions from 2.*.* on (i.e., this lexicon).
Node:sneaker, Next:sneakernet, Previous:snark, Up:= S =
sneaker n.
An individual hired to break into places in order to test their security; analogous to tiger team. Compare samurai.
Node:sneakernet, Next:sniff, Previous:sneaker, Up:= S =
sneakernet /snee'ker-net/ n.
Term used (generally with ironic intent) for transfer of electronic information by physically carrying tape, disks, or some other media from one machine to another. "Never underestimate the bandwidth of a station wagon filled with magtape, or a 747 filled with CD-ROMs." Also called `Tennis-Net', `Armpit-Net', `Floppy-Net' or `Shoenet'; in the 1990s, `Nike network' after a well-known sneaker brand.
Node:sniff, Next:snivitz, Previous:sneakernet, Up:= S =
sniff v.,n.
1. To watch IP packets traversing a local network. Most often in the phrase `packet sniffer', a program for doing same. 2.Synonym for poll.
Node:snivitz, Next:'Snooze, Previous:sniff, Up:= S =
snivitz /sniv'itz/ n.
A hiccup in hardware or software; a small, transient problem of unknown origin (less serious than a snark). Compare glitch.
Node:'Snooze, Next:SO, Previous:snivitz, Up:= S =
'Snooze /snooz/ [FidoNet] n.
Fidonews, the weekly official on-line newsletter of FidoNet. As the editorial policy of Fidonews is "anything that arrives, we print", there are often large articles completely unrelated to FidoNet, which in turn tend to elicit flamage in subsequent issues.
Node:SO, Next:social engineering, Previous:'Snooze, Up:= S =
SO /S-O/ n.
1. (also `S.O.') Abbrev. for Significant Other, almost invariably written abbreviated and pronounced /S-O/ by hackers. Used to refer to one's primary relationship, esp. a live-in to whom one is not married. See MOTAS, MOTOS, MOTSS. 2. [techspeak] The Shift Out control character in ASCII (Control-N, 0001110).
Node:social engineering, Next:social science number, Previous:SO, Up:= S =
social engineering n.
Term used among crackers and samurai for cracking techniques that rely on weaknesses in wetware rather than software; the aim is to trick people into revealing passwords or other information that compromises a target system's security. Classic scams include phoning up a mark who has the required information and posing as a field service tech or a fellow employee with an urgent access problem. See also the tiger team story in the patch entry.
Node:social science number, Next:sock puppet, Previous:social engineering, Up:= S =
social science number n. //
[IBM] A statistic that is content-free, or nearly so. A measure derived via methods of questionable validity from data of a dubious and vague nature. Predictively, having a social science number in hand is seldom much better than nothing, and can be considerably worse. As a rule, management loves them. See also numbers, math-out, pretty pictures.
Node:sock puppet, Next:sodium substrate, Previous:social science number, Up:= S =
sock puppet n.
[Usenet: from the act of placing a sock over your hand and talking to it and pretending it's talking back] In Usenet parlance, a pseudo through which the puppeteer posts follow-ups to their own original message to give the appearance that a number of people support the views held in the original message.
Node:sodium substrate, Next:soft boot, Previous:sock puppet, Up:= S =
sodium substrate n.
Syn salt substrate.
Node:soft boot, Next:softcopy, Previous:sodium substrate, Up:= S =
soft boot n.
See boot.
Node:softcopy, Next:software bloat, Previous:soft boot, Up:= S =
softcopy /soft'kop-ee/ n.
[by analogy with `hardcopy'] A machine-readable form of corresponding hardcopy. See bits, machinable.
Node:software bloat, Next:software hoarding, Previous:softcopy, Up:= S =
software bloat n.
The results of second-system effect or creeping featuritis. Commonly cited examples include ls(1), X, BSD, Missed'em-five, and OS/2.
Node:software hoarding, Next:software laser, Previous:software bloat, Up:= S =
software hoarding n.
Pejorative term employed by members and adherents of the GNU project to describe the act of holding software proprietary, keeping it under trade secret or license terms which prohibit free redistribution and modification. Used primarily in Free Software Foundation propaganda. For a summary of related issues, see GNU.
Node:software laser, Next:software rot, Previous:software hoarding, Up:= S =
software laser n.
An optical laser works by bouncing photons back and forth between two mirrors, one totally reflective and one partially reflective. If the lasing material (usually a crystal) has the right properties, photons scattering off the atoms in the crystal will excite cascades of more photons, all in lockstep. Eventually the beam will escape through the partially-reflective mirror. One kind of sorcerer's apprentice mode involving bounce messages can produce closely analogous results, with a cascade of messages escaping to flood nearby systems. By mid-1993 there had been at least two publicized incidents of this kind.
Node:software rot, Next:softwarily, Previous:software laser, Up:= S =
software rot n.
Term used to describe the tendency of software that has not been used in a while to lose; such failure may be semi-humorously ascribed to bit rot. More commonly, `software rot' strikes when a program's assumptions become out of date. If the design was insufficiently robust, this may cause it to fail in mysterious ways. Syn. `code rot'. See also link rot.
For example, owing to endemic shortsightedness in the design of COBOL programs, a good number of them succumbed to software rot when their 2-digit year counters underwent wrap around at the beginning of the year 2000. Actually, related lossages often afflict centenarians who have to deal with computer software designed by unimaginative clods. One such incident became the focus of a minor public flap in 1990, when a gentleman born in 1889 applied for a driver's license renewal in Raleigh, North Carolina. The new system refused to issue the card, probably because with 2-digit years the ages 101 and 1 cannot be distinguished.
Historical note: Software rot in an even funnier sense than the mythical one was a real problem on early research computers (e.g., the R1; see grind crank). If a program that depended on a peculiar instruction hadn't been run in quite a while, the user might discover that the opcodes no longer did the same things they once did. ("Hey, so-and-so needs an instruction to do such-and-such. We can snarf this opcode, right? No one uses it.")
Another classic example of this sprang from the time an MIT hacker found a simple way to double the speed of the unconditional jump instruction on a PDP-6, so he patched the hardware. Unfortunately, this broke some fragile timing software in a music-playing program, throwing its output out of tune. This was fixed by adding a defensive initialization routine to compare the speed of a timing loop with the real-time clock; in other words, it figured out how fast the PDP-6 was that day, and corrected appropriately.
Compare bit rot.
Node:softwarily, Next:softy, Previous:software rot, Up:= S =
softwarily /soft-weir'i-lee/ adv.
In a way pertaining to software. "The system is softwarily unreliable." The adjective **`softwary' is not used. See hardwarily.
Node:softy, Next:some random X, Previous:softwarily, Up:= S =
softy n.
[IBM] Hardware hackers' term for a software expert who is largely ignorant of the mysteries of hardware.
Node:some random X, Next:sorcerer's apprentice mode, Previous:softy, Up:= S =
some random X adj.
Used to indicate a member of class X, with the implication that Xs are interchangeable. "I think some random cracker tripped over the guest timeout last night." See also J. Random.
Node:sorcerer's apprentice mode, Next:SOS, Previous:some random X, Up:= S =
sorcerer's apprentice mode n.
[from Goethe's "Der Zauberlehrling" via Paul Dukas's "L'apprenti sorcier" the film "Fantasia"] A bug in a protocol where, under some circumstances, the receipt of a message causes multiple messages to be sent, each of which, when received, triggers the same bug. Used esp. of such behavior caused by bounce message loops in email software. Compare broadcast storm, network meltdown, software laser, ARMM.
Node:SOS, Next:source, Previous:sorcerer's apprentice mode, Up:= S =
SOS /S-O-S/
n.,obs. An infamously losing text editor. Once, back in the 1960s, when a text editor was needed for the PDP-6, a hacker crufted together a quick-and-dirty `stopgap editor' to be used until a better one was written. Unfortunately, the old one was never really discarded when new ones came along. SOS is a descendant (`Son of Stopgap') of that editor, and many PDP-10 users gained the dubious pleasure of its acquaintance. Since then other programs similar in style to SOS have been written, notably the early font editor BILOS /bye'lohs/, the Brother-In-Law Of Stopgap (the alternate expansion `Bastard Issue, Loins of Stopgap' has been proposed).
Node:source, Next:source of all good bits, Previous:SOS, Up:= S =
source n.
[very common] In reference to software, `source' is invariably shorthand for `source code', the preferred human-readable and human-modifiable form of the program. This is as opposed to object code, the derived binary executable form of a program. This shorthand readily takes derivative forms; one may speak of "the sources of a system" or of "having source".
Node:source of all good bits, Next:space-cadet keyboard, Previous:source, Up:= S =
source of all good bits n.
A person from whom (or a place from which) useful information may be obtained. If you need to know about a program, a guru might be the source of all good bits. The title is often applied to a particularly competent secretary.
Node:space-cadet keyboard, Next:spaceship operator, Previous:source of all good bits, Up:= S =
space-cadet keyboard n.
A now-legendary device used on MIT LISP machines, which inspired several still-current jargon terms and influenced the design of EMACS. It was equipped with no fewer than seven shift keys: four keys for bucky bits (`control', `meta', `hyper', and `super') and three like regular shift keys, called `shift', `top', and `front'. Many keys had three symbols on them: a letter and a symbol on the top, and a Greek letter on the front. For example, the `L' key had an `L' and a two-way arrow on the top, and the Greek letter lambda on the front. By pressing this key with the right hand while playing an appropriate `chord' with the left hand on the shift keys, you could get the following results:
L
lowercase l
shift-L
uppercase L
front-L
lowercase lambda
front-shift-L
uppercase lambda
top-L
two-way arrow (front and shift are ignored)
And of course each of these might also be typed with any combination of the control, meta, hyper, and super keys. On this keyboard, you could type over 8000 different characters! This allowed the user to type very complicated mathematical text, and also to have thousands of single-character commands at his disposal. Many hackers were actually willing to memorize the command meanings of that many characters if it reduced typing time (this attitude obviously shaped the interface of EMACS). Other hackers, however, thought having that many bucky bits was overkill, and objected that such a keyboard can require three or four hands to operate. See bucky bits, cokebottle, double bucky, meta bit, quadruple bucky.
Note: early versions of this entry incorrectly identified the space-cadet keyboard with the `Knight keyboard'. Though both were designed by Tom Knight, the latter term was properly applied only to a keyboard used for ITS on the PDP-10 and modeled on the Stanford keyboard (as described under bucky bits). The true space-cadet keyboard evolved from the first Knight keyboard.
Node:spaceship operator, Next:SPACEWAR, Previous:space-cadet keyboard, Up:= S =
spaceship operator n.
The glyph <=>, so-called apparently because in the low-resolution constant-width font used on many terminals it vaguely resembles a flying saucer. Perl uses this to denote the signum-of-difference operation.
Node:SPACEWAR, Next:spaghetti code, Previous:spaceship operator, Up:= S =
SPACEWAR n.
A space-combat simulation game, inspired by E. E. "Doc" Smith's "Lensman" books, in which two spaceships duel around a central sun, shooting torpedoes at each other and jumping through hyperspace. This game was first implemented on the PDP-1 at MIT in 1962. In 1968-69, a descendant of the game motivated Ken Thompson to build, in his spare time on a scavenged PDP-7, the operating system that became Unix. Less than nine years after that, SPACEWAR was commercialized as one of the first video games; descendants are still feeping in video arcades everywhere.
Node:spaghetti code, Next:spaghetti inheritance, Previous:SPACEWAR, Up:= S =
spaghetti code n.
Code with a complex and tangled control structure, esp. one using many GOTOs, exceptions, or other `unstructured' branching constructs. Pejorative. The synonym `kangaroo code' has been reported, doubtless because such code has so many jumps in it.
Node:spaghetti inheritance, Next:spam, Previous:spaghetti code, Up:= S =
spaghetti inheritance n.
[encountered among users of object-oriented languages that use inheritance, such as Smalltalk] A convoluted class-subclass graph, often resulting from carelessly deriving subclasses from other classes just for the sake of reusing their code. Coined in a (successful) attempt to discourage such practice, through guilt-by-association with spaghetti code.
Node:spam, Next:spam bait, Previous:spaghetti inheritance, Up:= S =
spam vt.,vi.,n.
[from "Monty Python's Flying Circus"] 1. To crash a program by overrunning a fixed-size buffer with excessively large input data. See also buffer overflow, overrun screw, smash the stack. 2. To cause a newsgroup to be flooded with irrelevant or inappropriate messages. You can spam a newsgroup with as little as one well- (or ill-) planned message (e.g. asking "What do you think of abortion?" on soc.women). This is often done with cross-posting (e.g. any message which is crossposted to alt.rush-limbaugh and alt.politics.homosexuality will almost inevitably spam both groups). This overlaps with troll behavior; the latter more specific term has become more common. 3. To send many identical or nearly-identical messages separately to a large number of Usenet newsgroups. This is more specifically called `ECP', Excessive Cross-Posting. This is one sure way to infuriate nearly everyone on the Net. See also velveeta and jello. 4. To bombard a newsgroup with multiple copies of a message. This is more specifically called `EMP', Excessive Multi-Posting. 5. To mass-mail unrequested identical or nearly-identical email messages, particularly those containing advertising. Especially used when the mail addresses have been culled from network traffic or databases without the consent of the recipients. Synonyms include UCE, UBE. 6. Any large, annoying, quantity of output. For instance, someone on IRC who walks away from their screen and comes back to find 200 lines of text might say "Oh no, spam".
The later definitions have become much more prevalent as the Internet has opened up to non-techies, and to most people senses 3 4 and 5 are now primary. All three behaviors are considered abuse of the net, and are almost universally grounds for termination of the originator's email account or network connection. In these senses the term `spam' has gone mainstream, though without its original sense or folkloric freight - there is apparently a widespread myth among lusers that "spamming" is what happens when you dump cans of Spam into a revolving fan.
Node:spam bait, Next:spamblock, Previous:spam, Up:= S =
spam bait n.
Email addresses included in, or comprising the entirety of, a usenet message so that spammers mining a newsgroup with an address harvester will collect them. These addresses can be people who have offended or annoyed the poster, or who are included so that a spammer will spam an official, thereby causing himself trouble. One particularly effective form of spam bait is the address of a teergrube.
Node:spamblock, Next:spamhaus, Previous:spam bait, Up:= S =
spamblock /spam'blok/ n.
[poss. by analogy to sunblock] Text inserted in an email address to render it invalid and thus useless to spammers. For example, the address `jrandom@hacker.org' might be transformed to `jrandom@NOSPAM.hacker.org'. Adding spamblock to an address is often referred to as `munging' it (see munge)-. This evasion tactic depends on the fact that most spammers collect names with some sort of address harvester on volumes too high to de-mung by hand, but individual humans reading an email message can readily spot and remove a spamblock in the from address.
Note: This is not actually a very effective tactic, and may already be passing out of use in early 1999 after about two years of life. In both mail and news, it's essentially impossible to keep a smart address harvester from mining out the addresses in the message header and trace lines. Therefore the only people who can be protected are third parties mentioned by email address in the message - not a common enough case to interest spammers.
Node:spamhaus, Next:spamvertize, Previous:spamblock, Up:= S =
spamhaus spam'hows n.
Pejorative term for an internet service provider that permits or even encourages spam mailings from its systems. The plural is `spamhausen'. There is a web page devoted to tracking spamhausen.
The most notorious of the spamhausen was Sanford Wallace's Cyber Promotions Inc., shut down by a lawsuit on 16 October 1997. The anniversary of the shutdown is celebrated on Usenet as Spam Freedom Day, but lesser imitators of the Spamford still infest various murky corners of the net. Since prosecution of spammers became routine under the junk-fax laws and statues specifically targeting spam, spamhausen have declined in relative importance; today, hit-and-run attacks by spammers using relay rape and throwaway accounts on reputable ISPs seem to account for most of the flow.
Node:spamvertize, Next:spangle, Previous:spamhaus, Up:= S =
spamvertize v.
To advertise using spam. Pejorative.
Node:spangle, Next:spawn, Previous:spamvertize, Up:= S =
spangle n.
[UK] The singular of bells and whistles. See also spungle.
Node:spawn, Next:special-case, Previous:spangle, Up:= S =
spawn n.,vi.
1. [techspeak] In UNIX parlance, to create a child process from within a process. Technically this is a `fork'; the term `spawn' is a bit more general and is used for threads (lightweight processes) as well as traditional heavyweight processes. 2. In gaming, meant to indicate where (`spawn-point') and when a player comes to life (or `re-spawns') after being killed. Opposite of frag.
Node:special-case, Next:speedometer, Previous:spawn, Up:= S =
special-case vt.
To write unique code to handle input to or situations arising in a program that are somehow distinguished from normal processing. This would be used for processing of mode switches or interrupt characters in an interactive interface (as opposed, say, to text entry or normal commands), or for processing of hidden flags in the input of a batch program or filter.
Node:speedometer, Next:spell, Previous:special-case, Up:= S =
speedometer n.
A pattern of lights displayed on a linear set of LEDs (today) or nixie tubes (yesterday, on ancient mainframes). The pattern is shifted left every N times the operating system goes through its main loop. A swiftly moving pattern indicates that the system is mostly idle; the speedometer slows down as the system becomes overloaded. The speedometer on Sun Microsystems hardware bounces back and forth like the eyes on one of the Cylons from the wretched "Battlestar Galactica" TV series.
Historical note: One computer, the GE 600 (later Honeywell 6000) actually had an analog speedometer on the front panel, calibrated in instructions executed per second.
Node:spell, Next:spelling flame, Previous:speedometer, Up:= S =
spell n.
Syn. incantation.
Node:spelling flame, Next:spider, Previous:spell, Up:= S =
spelling flame n. //
[Usenet] A posting ostentatiously correcting a previous article's spelling as a way of casting scorn on the point the article was trying to make, instead of actually responding to that point (compare dictionary flame). Of course, people who are more than usually slovenly spellers are prone to think any correction is a spelling flame. It's an amusing comment on human nature that spelling flames themselves often contain spelling errors.
Node:spider, Next:spider food, Previous:spelling flame, Up:= S =
spider
The Web-walking part of a search engine that collects pages for indexing in the search engine's database. Also called a bot. The best-known spider is Scooter, the web-walker for the Alta Vista search engine.
Node:spider food, Next:spiffy, Previous:spider, Up:= S =
spider food n.
Keywords embedded (usually invisibly) into a web page to attract search engines (spiders). The intended result of including spider food in one's web page is to insure that the page appears high on the list of matching entries to a search engine query. There are right and wrong ways to do this; the right way is a discreet `meta keywords' tag, the wrong way is to embed many repeats of a keyword in comments (and many search engines now detect and ignore the latter).
Node:spiffy, Next:spike, Previous:spider food, Up:= S =
spiffy /spi'fee/ adj.
1. Said of programs having a pretty, clever, or exceptionally well-designed interface. "Have you seen the spiffy X version of empire yet?" 2. Said sarcastically of a program that is perceived to have little more than a flashy interface going for it. Which meaning should be drawn depends delicately on tone of voice and context. This word was common mainstream slang during the 1940s, in a sense close to 1.
Node:spike, Next:spin, Previous:spiffy, Up:= S =
spike v.
To defeat a selection mechanism by introducing a (sometimes temporary) device that forces a specific result. The word is used in several industries; telephone engineers refer to spiking a relay by inserting a pin to hold the relay in either the closed or open state, and railroaders refer to spiking a track switch so that it cannot be moved. In programming environments it normally refers to a temporary change, usually for testing purposes (as opposed to a permanent change, which would be called hardwired).
Node:spin, Next:spl, Previous:spike, Up:= S =
spin vi.
Equivalent to buzz. More common among C and Unix programmers. See the discussion of `spinlock' under busy-wait.
Node:spl, Next:splash screen, Previous:spin, Up:= S =
spl /S-P-L/
[abbrev, from Set Priority Level] The way traditional Unix kernels implement mutual exclusion by running code at high interrupt levels. Used in jargon to describe the act of tuning in or tuning out ordinary communication. Classically, spl levels run from 1 to 7; "Fred's at spl 6 today" would mean that he is very hard to interrupt. "Wait till I finish this; I'll spl down then." See also interrupts locked out.
Node:splash screen, Next:splat, Previous:spl, Up:= S =
splash screen n.
[Mac users] Syn. banner, sense 3.
Node:splat, Next:splat out, Previous:splash screen, Up:= S =
splat n.
1. Name used in many places (DEC, IBM, and others) for the asterisk (*) character (ASCII 0101010). This may derive from the `squashed-bug' appearance of the asterisk on many early line printers. 2. [MIT] Name used by some people for the # character (ASCII 0100011). 3. The feature key on a Mac (same as alt, sense 2). 4. obs. Name used by some people for the Stanford/ITS extended ASCII circle-x character. This character is also called `blobby' and `frob', among other names; it is sometimes used by mathematicians as a notation for `tensor product'. 5. obs. Name for the semi-mythical Stanford extended ASCII circle-plus character. See also ASCII.
Node:splat out, Next:spod, Previous:splat, Up:= S =
splat out v.
[Usenet] To partially obscure a potentially provocative word by substituting splat characters for some of its letters (usually, but not always, the vowels). The purpose is not to make the word unrecognizable but to make it a mention rather than a use, so that no flamewar ensues. Words often splatted out include N*z* (see Godwin's Law), *v*l*t**n (anywhere fundamentalists might be lurking), *b*rt**n, and g*n c*ntr*l. Compare UN*X.
Node:spod, Next:spoiler, Previous:splat out, Up:= S =
spod n.
[UK] 1. A lower form of life found on talker systems and MUDs. The spod has few friends in RL and uses talkers instead, finding communication easier and preferable over the net. He has all the negative traits of the computer geek without having any interest in computers per se. Lacking any knowledge of or interest in how networks work, and considering his access a God-given right, he is a major irritant to sysadmins, clogging up lines in order to reach new MUDs, following passed-on instructions on how to sneak his way onto Internet ("Wow! It's in America!") and complaining when he is not allowed to use busy routes. A true spod will start any conversation with "Are you male or female?" (and follow it up with "Got any good numbers/IDs/passwords?") and will not talk to someone physically present in the same terminal room until they log onto the same machine that he is using and enter talk mode. Compare newbie, tourist, weenie, twink, terminal junkie, warez d00dz. 2. A backronym for "Sole Purpose, Obtain a Degree"; according to some self-described spods, this term is used by indifferent students to condemn their harder-working fellows. Compare the defiant adoption of the term `geek' in the mid-1990s by people who would previously have been stigmatized by it (see computer geek). 3. [obs.] An ordinary person; a random. This is the meaning with which the term was coined, but the inventor informs us he has himself accepted sense 1.
Node:spoiler, Next:spoiler space, Previous:spod, Up:= S =
spoiler n.
[Usenet] 1. A remark which reveals important plot elements from books or movies, thus denying the reader (of the article) the proper suspense when reading the book or watching the movie. 2. Any remark which telegraphs the solution of a problem or puzzle, thus denying the reader the pleasure of working out the correct answer (see also interesting). Either sense readily forms compounds like `total spoiler', `quasi-spoiler' and even `pseudo-spoiler'.
By convention, articles which are spoilers in either sense should contain the word `spoiler' in the Subject: line, or guarantee via various tricks that the answer appears only after several screens-full of warning, or conceal the sensitive information via rot13, spoiler space or some combination of these techniques.
Node:spoiler space, Next:sponge, Previous:spoiler, Up:= S =
spoiler space
[also `spoiler spoo'] A screenful of blank lines (and, often, form-feeds) deliberately inserted in a message following a spoiler warning, so the actual spoiler can't be seen without hitting a key.
Node:sponge, Next:spoof, Previous:spoiler space, Up:= S =
sponge n.
[Unix] A special case of a filter that reads its entire input before writing any output; the canonical example is a sort utility. Unlike most filters, a sponge can conveniently overwrite the input file with the output data stream. If a file system has versioning (as ITS did and VMS does now) the sponge/filter distinction loses its usefulness, because directing filter output would just write a new version. See also slurp.
Node:spoof, Next:spool, Previous:sponge, Up:= S =
spoof vi.
To capture, alter, and retransmit a communication stream in a way that misleads the recipient. As used by hackers, refers especially to altering TCP/IP packet source addresses or other packet-header data in order to masquerade as a trusted machine. This term has become very widespread and is borderline techspeak.
Node:spool, Next:spool file, Previous:spoof, Up:= S =
spool vi.
[from early IBM `Simultaneous Peripheral Operation On-Line', but is widely thought to be a backronym] To send files to some device or program (a `spooler') that queues them up and does something useful with them later. Without qualification, the spooler is the `print spooler' controlling output of jobs to a printer; but the term has been used in connection with other peripherals (especially plotters and graphics devices) and occasionally even for input devices. See also demon.
Node:spool file, Next:spungle, Previous:spool, Up:= S =
spool file n.
Any file to which data is spooled to await the next stage of processing. Especially used in circumstances where spooling the data copes with a mismatch between speeds in two devices or pieces of software. For example, when you send mail under Unix, it's typically copied to a spool file to await a transport demon's attentions. This is borderline techspeak.
Node:spungle, Next:square tape, Previous:spool file, Up:= S =
spungle n.
[Durham, UK; portmanteau, spangle + bungle] A spangle of no actual usefulness. Example: Roger the Bent Paperclip in Microsoft Word '98. A spungle's only virtue is that it looks pretty, unless you find creeping featurism ugly.
Node:square tape, Next:squirrelcide, Previous:spungle, Up:= S =
square tape n.
Mainframe magnetic tape cartridges for use with IBM 3480 or compatible tape drives; or QIC tapes used on workstations and micros. The term comes from the square (actually rectangular) shape of the cartridges; contrast round tape.
Node:squirrelcide, Next:stack, Previous:square tape, Up:= S =
squirrelcide n.
[common on Usenet's comp.risks newsgroup.] (alt. `squirrelicide') What all too frequently happens when a squirrel decides to exercise its species's unfortunate penchant for shorting out power lines with their little furry bodies. Result: one dead squirrel, one down computer installation. In this situation, the computer system is said to have been squirrelcided.
Node:stack, Next:stack puke, Previous:squirrelcide, Up:= S =
stack n.
The set of things a person has to do in the future. One speaks of the next project to be attacked as having risen to the top of the stack. "I'm afraid I've got real work to do, so this'll have to be pushed way down on my stack." "I haven't done it yet because every time I pop my stack something new gets pushed." If you are interrupted several times in the middle of a conversation, "My stack overflowed" means "I forget what we were talking about." The implication is that more items were pushed onto the stack than could be remembered, so the least recent items were lost. The usual physical example of a stack is to be found in a cafeteria: a pile of plates or trays sitting on a spring in a well, so that when you put one on the top they all sink down, and when you take one off the top the rest spring up a bit. See also push and pop.
At MIT, PDL used to be a more common synonym for stack in all these contexts, and this may still be true. Everywhere else stack seems to be the preferred term. Knuth ("The Art of Computer Programming", second edition, vol. 1, p. 236) says:
Many people who realized the importance of stacks and queues independently have given other names to these structures: stacks have been called push-down lists, reversion storages, cellars, nesting stores, piles, last-in-first-out ("LIFO") lists, and even yo-yo lists!
Node:stack puke, Next:stale pointer bug, Previous:stack, Up:= S =
stack puke n.
Some processor architectures are said to `puke their guts onto the stack' to save their internal state during exception processing. The Motorola 68020, for example, regurgitates up to 92 bytes on a bus fault. On a pipelined machine, this can take a while.
Node:stale pointer bug, Next:star out, Previous:stack puke, Up:= S =
stale pointer bug n.
Synonym for aliasing bug used esp. among microcomputer hackers.
Node:star out, Next:state, Previous:stale pointer bug, Up:= S =
star out v.
[University of York, England] To replace a user's encrypted password in /etc/passwd with a single asterisk. Under Unix this is not a legal encryption of any password; hence the user is not permitted to log in. In general, accounts like adm, news, and daemon are permanently "starred out"; occasionally a real user might have the this inflicted upon him/her as a punishment, e.g. "Graham was starred out for playing Omega in working hours". Also occasionally known as The Order Of The Gold Star in this context. "Don't do that, or you'll be awarded the Order of the Gold Star..." Compare disusered.
Node:state, Next:stealth manager, Previous:star out, Up:= S =
state n.
1. Condition, situation. "What's the state of your latest hack?" "It's winning away." "The system tried to read and write the disk simultaneously and got into a totally wedged state." The standard question "What's your state?" means "What are you doing?" or "What are you about to do?" Typical answers are "about to gronk out", or "hungry". Another standard question is "What's the state of the world?", meaning "What's new?" or "What's going on?". The more terse and humorous way of asking these questions would be "State-p?". Another way of phrasing the first question under sense 1 would be "state-p latest hack?". 2. Information being maintained in non-permanent memory (electronic or human).
Node:stealth manager, Next:steam-powered, Previous:state, Up:= S =
stealth manager n.
[Corporate DP] A manager that appears out of nowhere, promises undeliverable software to unknown end users, and vanishes before the programming staff realizes what has happened. See smoke and mirrors.
Node:steam-powered, Next:STFW, Previous:stealth manager, Up:= S =
steam-powered adj.
Old-fashioned or underpowered; archaic. This term does not have a strong negative loading and may even be used semi-affectionately for something that clanks and wheezes a lot but hangs in there doing the job.
Node:STFW, Next:stiffy, Previous:steam-powered, Up:= S =
STFW imp. /S-T-F-W/
[Usenet] Commmon abbreviation for "Search The Fucking Web", a suggestion that what you're asking for is a query better handled by a search engine than a human being. Usage is common and exactly parallel to both senses of RTFM.
Node:stiffy, Next:stir-fried random, Previous:STFW, Up:= S =
stiffy n.
3.5-inch microfloppies, so called because their jackets are more rigid than those of the 5.25-inch and the (now totally obsolete) 8-inch floppy. Elsewhere this might be called a `firmy'. For some odd reason, several sources have taken the trouble to inform us that this term is widespread in South Africa.
Node:stir-fried random, Next:stomp on, Previous:stiffy, Up:= S =
stir-fried random n.
(alt. `stir-fried mumble') Term used for the best dish of many of those hackers who can cook. Consists of random fresh veggies and meat wokked with random spices. Tasty and economical. See random, great-wall, ravs, laser chicken, oriental food; see also mumble.
Node:stomp on, Next:Stone Age, Previous:stir-fried random, Up:= S =
stomp on vt.
To inadvertently overwrite something important, usually automatically. "All the work I did this weekend got stomped on last night by the nightly server script." Compare scribble, mangle, trash, scrog, roach.
Node:Stone Age, Next:stone knives and bearskins, Previous:stomp on, Up:= S =
Stone Age n.,adj.
1. In computer folklore, an ill-defined period from ENIAC (ca. 1943) to the mid-1950s; the great age of electromechanical dinosaurs. Sometimes used for the entire period up to 1960-61 (see Iron Age); however, it is funnier and more descriptive to characterize the latter period in terms of a `Bronze Age' era of transistor-logic, pre-ferrite-core machines with drum or CRT mass storage (as opposed to just mercury delay lines and/or relays). See also Iron Age. 2. More generally, a pejorative for any crufty, ancient piece of hardware or software technology. Note that this is used even by people who were there for the Stone Age (sense 1).
Node:stone knives and bearskins, Next:stoppage, Previous:Stone Age, Up:= S =
stone knives and bearskins n.
[from the Star Trek Classic episode "The City on the Edge of Forever"] A term traditionally used to describe (and deprecate) computing environments that are grotesquely primitive in light of what is known about good ways to design things. As in "Don't get too used to the facilities here. Once you leave SAIL it's stone knives and bearskins as far as the eye can see". Compare steam-powered.
Node:stoppage, Next:store, Previous:stone knives and bearskins, Up:= S =
stoppage /sto'p*j/ n.
Extreme lossage that renders something (usually something vital) completely unusable. "The recent system stoppage was caused by a fried transformer."
Node:store, Next:strided, Previous:stoppage, Up:= S =
store n.
[prob. from techspeak `main store'] In some varieties of Commonwealth hackish, the preferred synonym for core. Thus, `bringing a program into store' means not that one is returning shrink-wrapped software but that a program is being swapped in.
Node:strided, Next:stroke, Previous:store, Up:= S =
strided /stri:'d*d/ adj.
[scientific computing] Said of a sequence of memory reads and writes to addresses, each of which is separated from the last by a constant interval called the `stride length'. These can be a worst-case access pattern for the standard memory-caching schemes when the stride length is a multiple of the cache line size. Strided references are often generated by loops through an array, and (if your data is large enough that access-time is significant) it can be worthwhile to tune for better locality by inverting double loops or by partially unrolling the outer loop of a loop nest. This usage is borderline techspeak; the related term `memory stride' is definitely techspeak.
Node:stroke, Next:strudel, Previous:strided, Up:= S =
stroke n.
Common name for the slant (`/', ASCII 0101111) character. See ASCII for other synonyms.
Node:strudel, Next:stubroutine, Previous:stroke, Up:= S =
strudel n.
Common (spoken) name for the at-sign (`@', ASCII 1000000) character. See ASCII for other synonyms.
Node:stubroutine, Next:studly, Previous:strudel, Up:= S =
stubroutine /stuhb'roo-teen/ n.
[contraction of `stub subroutine'] Tiny, often vacuous placeholder for a subroutine that is to be written or fleshed out later.
Node:studly, Next:studlycaps, Previous:stubroutine, Up:= S =
studly adj.
Impressive; powerful. Said of code and designs which exhibit both complexity and a virtuoso flair. Has connotations similar to hairy but is more positive in tone. Often in the emphatic `most studly' or as noun-form `studliness'. "Smail 3.0's configuration parser is most studly."
Node:studlycaps, Next:stunning, Previous:studly, Up:= S =
studlycaps /stuhd'lee-kaps/ n.
A hackish form of silliness similar to BiCapitalization for trademarks, but applied randomly and to arbitrary text rather than to trademarks. ThE oRigiN and SigNificaNce of thIs pRacTicE iS oBscuRe.
Node:stunning, Next:stupid-sort, Previous:studlycaps, Up:= S =
stunning adj.
Mind-bogglingly stupid. Usually used in sarcasm. "You want to code what in ADA? That's a ... stunning idea!"
Node:stupid-sort, Next:Stupids, Previous:stunning, Up:= S =
stupid-sort n.
Syn. bogo-sort.
Node:Stupids, Next:Sturgeon's Law, Previous:stupid-sort, Up:= S =
Stupids n.
Term used by samurai for the suits who employ them; succinctly expresses an attitude at least as common, though usually better disguised, among other subcultures of hackers. There may be intended reference here to an SF story originally published in 1952 but much anthologized since, Mark Clifton's "Star, Bright". In it, a super-genius child classifies humans into a very few `Brights' like herself, a huge majority of `Stupids', and a minority of `Tweens', the merely ordinary geniuses.
Node:Sturgeon's Law, Next:sucking mud, Previous:Stupids, Up:= S =
Sturgeon's Law prov.
"Ninety percent of everything is crap". Derived from a quote by science fiction author Theodore Sturgeon, who once said, "Sure, 90% of science fiction is crud. That's because 90% of everything is crud." Oddly, when Sturgeon's Law is cited, the final word is almost invariably changed to `crap'. Compare Hanlon's Razor, Ninety-Ninety Rule. Though this maxim originated in SF fandom, most hackers recognize it and are all too aware of its truth.
Node:sucking mud, Next:sufficiently small, Previous:Sturgeon's Law, Up:= S =
sucking mud adj.
[Applied Data Research] (also `pumping mud') Crashed or wedged. Usually said of a machine that provides some service to a network, such as a file server. This Dallas regionalism derives from the East Texas oilfield lament, "Shut 'er down, Ma, she's a-suckin' mud". Often used as a query. "We are going to reconfigure the network, are you ready to suck mud?"
Node:sufficiently small, Next:suit, Previous:sucking mud, Up:= S =
sufficiently small adj.
Syn. suitably small.
Node:suit, Next:suitable win, Previous:sufficiently small, Up:= S =
suit n.
1. Ugly and uncomfortable `business clothing' often worn by non-hackers. Invariably worn with a `tie', a strangulation device that partially cuts off the blood supply to the brain. It is thought that this explains much about the behavior of suit-wearers. Compare droid. 2. A person who habitually wears suits, as distinct from a techie or hacker. See pointy-haired, burble, management, Stupids, SNAFU principle, PHB, and brain-damaged.
Node:suitable win, Next:suitably small, Previous:suit, Up:= S =
suitable win n.
See win.
Node:suitably small, Next:Sun, Previous:suitable win, Up:= S =
suitably small adj.
[perverted from mathematical jargon]
An expression used ironically to characterize unquantifiable behavior that differs from expected or required behavior. For example, suppose a newly created program came up with a correct full-screen display, and one publicly exclaimed: "It works!" Then, if the program dumped core on the first mouse click, one might add: "Well, for suitably small values of `works'." Compare the characterization of pi under random numbers.
Node:Sun, Next:sun lounge, Previous:suitably small, Up:= S =
Sun n.
Sun Microsystems. Hackers remember that the name was originally an acronym, Stanford University Network. Sun started out around 1980 with some hardware hackers (mainly) from Stanford talking to some software hackers (mainly) from UC Berkeley; Sun's original technology concept married a clever board design based on the Motorola 68000 to BSD Unix. Sun went on to lead the worstation industry through the 1980s, and for years afterwards remained an engineering-driven company and a good place for hackers to work. Though Sun drifted away from its techie origins after 1990 and has since made some strategic moves that disappointed and annoyed many hackers (especially by maintaining proprietary control of Java and rejecting Linux), it's still considered within the family in much the same way DEC was in the 1970s and early 1980s.
Node:sun lounge, Next:sun-stools, Previous:Sun, Up:= S =
sun lounge n.
[UK] The room where all the Sun workstations live. The humor in this term comes from the fact that it's also in mainstream use to describe a solarium, and all those Sun workstations clustered together give off an amazing amount of heat.
Node:sun-stools, Next:sunspots, Previous:sun lounge, Up:= S =
sun-stools n.
Unflattering hackerism for SunTools, a pre-X windowing environment notorious in its day for size, slowness, and misfeatures. X, however, is larger and (some claim) slower; see second-system effect.
Node:sunspots, Next:super source quench, Previous:sun-stools, Up:= S =
sunspots n.
1. Notional cause of an odd error. "Why did the program suddenly turn the screen blue?" "Sunspots, I guess." 2. Also the cause of bit rot -- from the myth that sunspots will increase cosmic rays, which can flip single bits in memory. See also phase of the moon.
Node:super source quench, Next:superloser, Previous:sunspots, Up:= S =
super source quench n.
A special packet designed to shut up an Internet host. The Internet Protocol (IP) has a control message called Source Quench that asks a host to transmit more slowly on a particular connection to avoid congestion. It also has a Redirect control message intended to instruct a host to send certain packets to a different local router. A "super source quench" is actually a redirect control packet, forged to look like it came from a local router, that instructs a host to send all packets to its own local loopback address. This will effectively tie many Internet hosts up in knots. Compare Godzillagram, breath-of-life packet.
Node:superloser, Next:superprogrammer, Previous:super source quench, Up:= S =
superloser n.
[Unix] A superuser with no clue - someone with root privileges on a Unix system and no idea what he/she is doing, the moral equivalent of a three-year-old with an unsafetied Uzi. Anyone who thinks this is an uncommon situation reckons without the territorial urges of management.
Node:superprogrammer, Next:superuser, Previous:superloser, Up:= S =
superprogrammer n.
A prolific programmer; one who can code exceedingly well and quickly. Not all hackers are superprogrammers, but many are. (Productivity can vary from one programmer to another by three orders of magnitude. For example, one programmer might be able to write an average of 3 lines of working code in one day, while another, with the proper tools, might be able to write 3,000. This range is astonishing; it is matched in very few other areas of human endeavor.) The term `superprogrammer' is more commonly used within such places as IBM than in the hacker community. It tends to stress naive measures of productivity and to underweight creativity, ingenuity, and getting the job done -- and to sidestep the question of whether the 3,000 lines of code do more or less useful work than three lines that do the Right Thing. Hackers tend to prefer the terms hacker and wizard.
Node:superuser, Next:support, Previous:superprogrammer, Up:= S =
superuser n.
[Unix] Syn. root, avatar. This usage has spread to non-Unix environments; the superuser is any account with all wheel bits on. A more specific term than wheel.
Node:support, Next:surf, Previous:superuser, Up:= S =
support n.
After-sale handholding; something many software vendors promise but few deliver. To hackers, most support people are useless -- because by the time a hacker calls support he or she will usually know the software and the relevant manuals better than the support people (sadly, this is not a joke or exaggeration). A hacker's idea of `support' is a tête-à-tête with the software's designer.
Node:surf, Next:Suzie COBOL, Previous:support, Up:= S =
surf v.
[from the `surf' idiom for rapidly flipping TV channels] To traverse the Internet in search of interesting stuff, used esp. if one is doing so with a World Wide Web browser. It is also common to speak of `surfing in' to a particular resource.
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?
<double newline>
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.
<name>:
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:
<g>
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'.
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.
Node:tee, Next:teergrube, Previous:TECO, Up:= T =
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'.
Node:teergrube, Next:teledildonics, Previous:tee, Up:= T =
teergrube /teer'groob/ n.
[German for `tar pit'] A trap set to punish spammers who use an address harvester; a mail server deliberately set up to be really, really slow. To activate it, scatter addresses that look like users on the teergrube's host in places where the address harvester will be trolling (one popular way is to embed the fake address in a Usenet sig block next to a human-readable warning not to send mail to it). The address harvester will dutifully collect the address. When the spammer tries to mailbomb it, his mailer will get stuck.
Node:teledildonics, Next:Telerat, Previous:teergrube, Up:= 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." See also hot chat.
Node:Telerat, Next:TELNET, Previous:teledildonics, Up:= T =
Telerat /tel'*-rat/ n. obs.
Unflattering hackerism for `Teleray', a now-extinct line of extremely losing terminals. Compare AIDX, Macintrash Nominal Semidestructor, ScumOS, sun-stools, HP-SUX, Slowlaris.
Node:TELNET, Next:ten-finger interface, Previous:Telerat, Up:= T =
TELNET /tel'net/ vt.
(also commonly lowercased as `telnet') 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."
Node:ten-finger interface, Next:tense, Previous:TELNET, Up:= T =
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.
Node:tense, Next:tentacle, Previous:ten-finger interface, Up:= T =
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.
Node:tentacle, Next:tenured graduate student, Previous:tense, Up:= T =
tentacle n.
A covert pseudo, sense 1. An artificial identity created in cyberspace for nefarious and deceptive purposes. The implication is that a single person may have multiple tentacles. This term was originally floated in some paranoid ravings on the cypherpunks list (see cypherpunk), and adopted in a spirit of irony by other, saner members. It has since shown up, used seriously, in the documentation for some remailer software, and is now (1994) widely recognized on the net.
Node:tenured graduate student, Next:tera-, Previous:tentacle, Up:= T =
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.
Node:tera-, Next:teraflop club, Previous:tenured graduate student, Up:= T =
tera- /te'r*/ pref.
[SI] See quantifiers.
Node:teraflop club, Next:terminak, Previous:tera-, Up:= T =
teraflop club /te'r*-flop kluhb/ n.
[FLOP = Floating Point Operation] 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. Compare Knights of the Lambda Calculus.
Node:terminak, Next:terminal brain death, Previous:teraflop club, Up:= T =
terminak /ter'mi-nak`/ n.
[Caltech, ca. 1979] 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." Compare dread high-bit disease, frogging; see also AIDX, Nominal Semidestructor, ScumOS, sun-stools, Telerat, HP-SUX, Slowlaris.
Node:terminal brain death, Next:terminal illness, Previous:terminak, Up:= T =
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.
Node:terminal illness, Next:terminal junkie, Previous:terminal brain death, Up:= T =
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.
Node:terminal junkie, Next:terpri, Previous:terminal illness, Up:= T =
terminal junkie n.
[UK] 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. Appropriately, this term was used in the works of William S. Burroughs to describe a heroin addict with an unlimited supply.
Node:terpri, Next:test, Previous:terminal junkie, Up:= T =
terpri /ter'pree/ vi.
[from LISP 1.5 (and later, MacLISP)] 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.
Node:test, Next:TeX, Previous:terpri, Up:= T =
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.
Node:TeX, Next:text, Previous:test, Up:= T =
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. See also CrApTeX.
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" is not expected to appear until 2002. 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 offers a monetary awards to anyone who found and reported bugs dating from before the 1989 code freeze; 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.
Node:text, Next:thanks in advance, Previous:TeX, Up:= T =
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.
Node:thanks in advance, Next:That's not a bug that's a feature!, Previous:text, Up:= T =
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.
Node:That's not a bug that's a feature!, Next:the literature, Previous:thanks in advance, Up:= T =
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.
Node:the literature, Next:the network, Previous:That's not a bug that's a feature!, Up:= T =
the literature n.
Computer-science journals and other publications, vaguely gestured at to answer a question that the speaker believes is trivial. Thus, one might answer an annoying question by saying "It's in the literature." Oppose Knuth, which has no connotation of triviality.
Node:the network, Next:the X that can be Y is not the true X, Previous:the literature, Up:= T =
the network n.
1. Historicaslly, the union of all the major noncommercial, academic, and hacker-oriented networks, such as Internet, the pre-1990 ARPANET, NSFnet, BITNET, and the virtual UUCP and Usenet `networks', plus the corporate in-house networks and commercial time-sharing services (such as CompuServe, GEnie and AOL) that gateway to them. A site is generally considered `on the network' if it can be reached through some combination of Internet-style (@-sign) and UUCP (bang-path) addresses. See Internet, bang path, Internet address, network address. 2. Following the mass-culture discovery of the Internet in 1994 and subsequent proliferation of cheap TCP/IP connections, "the network" is increasingly synonymous with the Internet itself (as it was before the second wave of wide-area computer networking began around 1980). 3. A fictional conspiracy of libertarian hacker-subversives and anti-authoritarian monkeywrenchers described in Robert Anton Wilson's novel "Schrödinger's Cat", to which many hackers have subsequently decided they belong (this is an example of ha ha only serious).
In sense 1, `the network' is often abbreviated to `the net'. "Are you on the net?" is a frequent question when hackers first meet face to face, and "See you on the net!" is a frequent goodbye.
Node:the X that can be Y is not the true X, Next:theology, Previous:the network, Up:= T =
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.
Node:theology, Next:theory, Previous:the X that can be Y is not the true X, Up:= T =
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.
Node:theory, Next:thinko, Previous:theology, Up:= T =
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...."
Node:thinko, Next:This can't happen, Previous:theory, Up:= T =
thinko /thing'koh/ n.
[by analogy with `typo'] 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.
Node:This can't happen, Next:This time for sure!, Previous:thinko, Up:= T =
This can't happen
Less clipped variant of can't happen.
Node:This time for sure!, Next:thrash, Previous:This can't happen, Up:= T =
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 hacker humor.
Node:thrash, Next:thread, Previous:This time for sure!, Up:= T =
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.
Node:thread, Next:three-finger salute, Previous:thrash, Up:= T =
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. Not to be confused with the techspeak sense of `thread', e.g. a lightweight process.
Interestingly, this is far from a neologism. The OED says: "That which connects the successive points in anything, esp. a narrative, train of thought, or the like; the sequence of events or ideas continuing throughout the whole course of anything;" Citations are given going back to 1642!
Node:three-finger salute, Next:throwaway account, Previous:thread, Up:= T =
three-finger salute n.
Syn. Vulcan nerve pinch.
Node:throwaway account, Next:thud, Previous:three-finger salute, Up:= T =
throwaway account n.
1. An inexpensive Internet account purchased on a legitimate ISP for the the sole purpose of spewing spam. 2. An inexpensive Internet account obtained for the sole purpose of doing something which requires a valid email address but being able to ignore spam since the user will not look at the account again.
Node:thud, Next:thumb, Previous:throwaway account, Up:= T =
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.
Node:thumb, Next:thundering herd problem, Previous:thud, Up:= T =
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.
Node:thundering herd problem, Next:thunk, Previous:thumb, Up:= T =
thundering herd problem
Scheduler thrashing. This can happen under Unix when you have a number of processes that are waiting on a single event. When that event (a connection to the web server, say) happens, every process which could possibly handle the event is awakened. In the end, only one of those processes will actually be able to do the work, but, in the meantime, all the others wake up and contend for CPU time before being put back to sleep. Thus the system thrashes briefly while a herd of processes thunders through. If this starts to happen many times per second, the performance impact can be significant.
Node:thunk, Next:tick, Previous:thundering herd problem, Up:= T =
thunk /thuhnk/ n.
1. [obs.]"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".
Node:tick, Next:tick-list features, Previous:thunk, Up:= T =
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.
Node:tick-list features, Next:tickle a bug, Previous:tick, Up:= T =
tick-list features n.
[Acorn Computers] 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.
Node:tickle a bug, Next:tiger team, Previous:tick-list features, Up:= T =
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."
Node:tiger team, Next:time bomb, Previous:tickle a bug, Up:= T =
tiger team n.
[U.S. military jargon] 1. Originally, a team (of sneakers) 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.
Node:time bomb, Next:time sink, Previous:tiger team, Up:= T =
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 a suspended sentence of 3 years in jail and was barred from future work as a programmer.
Node:time sink, Next:time T, Previous:time bomb, Up:= T =
time sink n.
[poss. by analogy with `heat sink' or `current sink'] A project that consumes unbounded amounts of time.
Node:time T, Next:times-or-divided-by, Previous:time sink, Up:= T =
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.
Node:times-or-divided-by, Next:TINC, Previous:time T, Up:= T =
times-or-divided-by quant.
[by analogy with `plus-or-minus'] 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.
Node:TINC, Next:Tinkerbell program, Previous:times-or-divided-by, Up:= T =
TINC //
[Usenet] Abbreviation: "There Is No Cabal". See backbone cabal and NANA, but note that this abbreviation did not enter use until long after the dispersal of the backbone cabal.
Node:Tinkerbell program, Next:TINLC, Previous:TINC, Up:= T =
Tinkerbell program n.
[Great Britain] A monitoring program used to scan incoming network calls and generate alerts when calls are received from particular sites, or when logins are attempted using certain IDs. Named after `Project Tinkerbell', an experimental phone-tapping program developed by British Telecom in the early 1980s.
Node:TINLC, Next:tip of the ice-cube, Previous:Tinkerbell program, Up:= T =
TINLC //
Abbreviation: "There Is No Lumber Cartel". See Lumber Cartel. TINLC is a takeoff on TINC.
Node:tip of the ice-cube, Next:tired iron, Previous:TINLC, Up:= T =
tip of the ice-cube n. //
[IBM] 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.
Node:tired iron, Next:tits on a keyboard, Previous:tip of the ice-cube, Up:= T =
tired iron n.
[IBM] 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.
Node:tits on a keyboard, Next:TLA, Previous:tired iron, Up:= T =
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 older Macs, perverse as usual, had them on the D and K keys (this changed in 1999).
Node:TLA, Next:(TM), Previous:tits on a keyboard, Up:= T =
TLA /T-L-A/ n.
[Three-Letter Acronym] 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.) There is probably some karmic justice in the fact that Paul Boutin subsequently became a journalist.
Node:(TM), Next:TMRC, Previous:TLA, Up:= T =
(TM) //
[Usenet] ASCII rendition of the trademark-superscript symbol appended to phrases that the author feels should be recorded for posterity, perhaps in future editions of this lexicon. Sometimes used ironically as a form of protest against the recent spate of software and algorithm patents and `look and feel' lawsuits. See also UN*X.
Node:TMRC, Next:TMRCie, Previous:(TM), Up:= T =
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 years since. All the features described here were still present when the old layout was decomissioned in 1998 just before the demolition of MIT Building 20, and will almost certainly be retained when the old layout is rebuilt (expected in 2003). 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 Signals and Power Committee included many of the early PDP-1 hackers and the people who later became 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.
TMRC has a web page at http://web.mit.edu/tmrc/www/.
Node:TMRCie, Next:TMTOWTDI, Previous:TMRC, Up:= T =
TMRCie /tmerk'ee/, n.
[MIT] A denizen of TMRC.
Node:TMTOWTDI, Next:to a first approximation, Previous:TMRCie, Up:= T =
TMTOWTDI /tim-toh'-dee/
There's More Than One Way To Do It. This abbreviation of the official motto of Perl is frequently used on newsgroups and mailing lists related to that language.
Node:to a first approximation, Next:to a zeroth approximation, Previous:TMTOWTDI, Up:= T =
to a first approximation adj.
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).
Node:to a zeroth approximation, Next:toad, Previous:to a first approximation, Up:= T =
to a zeroth approximation
[from `to a first approximation'] A really sloppy approximation; a wild guess. Compare social science number.
Node:toad, Next:toast, Previous:to a zeroth approximation, Up:= T =
toad vt. [MUD]
1. Notionally, to change a MUD player into a toad. 2. To permanently and totally exile a player from the MUD. A very serious action, which can only be done by a MUD wizard; often involves a lot of debate among the other characters first. See also frog, FOD.
Node:toast, Next:toaster, Previous:toad, Up:= T =
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.
Node:toaster, Next:toeprint, Previous:toast, Up:= T =
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." 5. A specialized computer used as an appliance. See web toaster, video toaster.
Node:toeprint, Next:toggle, Previous:toaster, Up:= T =
toeprint n.
A footprint of especially small size.
Node:toggle, Next:tool, Previous:toeprint, Up:= T =
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.)
Node:tool, Next:toolsmith, Previous:toggle, Up:= T =
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. n. [MIT] A student who studies too much and hacks too little. (MIT's student humor magazine rejoices in the name "Tool and Die".)
Node:toolsmith, Next:toor, Previous:tool, Up:= T =
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".
Node:toor, Next:topic drift, Previous:toolsmith, Up:= T =
toor n.
The Bourne-Again Super-user. An alternate account with UID of 0, created on Unix machines where the root user has an inconvenient choice of shell. Compare avatar.
Node:topic drift, Next:topic group, Previous:toor, Up:= T =
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. The header in each post can be changed to keep current with the posts, but usually isn't due to forgetfulness or laziness. A single post may often result in several posts each responding to a different point in the original. Some subthreads will actually be in response to some off-the-cuff side comment, possibly degenerating into a flame war, or just as often evolving into a separate discussion. Hence, discussions aren't really so much threads as they are trees. Except that they don't really have leaves, or multiple branching roots; usually some lines of discussion will just sort of die off after everyone gets tired of them. This could take anywhere from hours to weeks, or even longer.
The term `topic drift' is 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!"
Node:topic group, Next:TOPS-10, Previous:topic drift, Up:= T =
topic group n.
Syn. forum.
Node:TOPS-10, Next:TOPS-20, Previous:topic group, Up:= T =
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.
Node:TOPS-20, Next:tourist, Previous:TOPS-10, Up:= T =
TOPS-20 /tops-twen'tee/ n.
See TWENEX.
Node:tourist, Next:tourist information, Previous:TOPS-20, Up:= T =
tourist n.
1. [ITS] 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. ITS hackers often used to spell this turist, perhaps by some sort of tenuous analogy with luser (this usage may also have expressed the ITS culture's penchant for six-letterisms, and-or been some sort of tribute to Alan Turing). Compare twink, lurker, read-only user. 2. [IRC] An IRC user who goes from channel to channel without saying anything; see channel hopping.
Node:tourist information, Next:touristic, Previous:tourist, Up:= T =
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.
Node:touristic, Next:toy, Previous:tourist information, Up:= T =
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'.
Node:toy, Next:toy language, Previous:touristic, Up:= T =
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!.
Node:toy language, Next:toy problem, Previous:toy, Up:= T =
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.
Node:toy problem, Next:toy program, Previous:toy language, Up:= T =
toy problem n.
[AI] 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.
Node:toy program, Next:trampoline, Previous:toy problem, Up:= T =
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.
Node:trampoline, Next:trap, Previous:toy program, Up:= T =
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. Under BSD and possibly in other Unixes, trampoline code is used to transfer control from the kernel back to user mode when a signal (which has had a handler installed) is sent to a process. hese 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.
Node:trap, Next:trap door, Previous:trampoline, Up:= T =
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).
Node:trap door, Next:trash, Previous:trap, Up:= T =
trap door n.
(alt. `trapdoor') 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.
Node:trash, Next:trawl, Previous:trap door, Up:= T =
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.
Node:trawl, Next:tree-killer, Previous:trash, Up:= T =
trawl v.
To sift through large volumes of data (e.g., Usenet postings, FTP archives, or the Jargon File) looking for something of interest.
Node:tree-killer, Next:treeware, Previous:trawl, Up:= T =
tree-killer n.
[Sun] 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).
Node:treeware, Next:trit, Previous:tree-killer, Up:= T =
treeware /tree'weir/ n.
Printouts, books, and other information media made from pulped dead trees. Compare tree-killer, see documentation.
Node:trit, Next:trivial, Previous:treeware, Up:= T =
trit /trit/ n.
[by analogy with `bit'] 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).
Node:trivial, Next:troff, Previous:trit, Up:= T =
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.
The physicist Richard Feynman, who had the hacker nature to an amazing degree (see his essay "Los Alamos From Below" in "Surely You're Joking, Mr. Feynman!"), defined `trivial theorem' as "one that has already been proved".
Node:troff, Next:troglodyte, Previous:trivial, Up:= T =
troff /T'rof/ or /trof/ n.
[Unix] 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 the Multics and CTSS program 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.
Node:troglodyte, Next:troglodyte mode, Previous:troff, Up:= T =
troglodyte n.
[Commodore] 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.
Node:troglodyte mode, Next:Trojan horse, Previous:troglodyte, Up:= T =
troglodyte mode n.
[Rice University] 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.
Node:Trojan horse, Next:troll, Previous:troglodyte mode, Up:= T =
Trojan horse n.
[coined by MIT-hacker-turned-NSA-spook Dan Edwards] 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.
Node:troll, Next:Troll-O-Meter, Previous:Trojan horse, Up:= T =
troll v.,n.
1. [From the Usenet group alt.folklore.urban] To utter a posting on Usenet designed to attract predictable responses or flames; or, the post itself. Derives from the phrase "trolling for newbies" which in turn comes from mainstream "trolling", a style of fishing in which one trails bait through a likely spot hoping for a bite. The well-constructed troll is a post that induces lots of newbies and flamers to make themselves look even more clueless than they already do, while subtly conveying to the more savvy and experienced that it is in fact a deliberate troll. If you don't fall for the joke, you get to be in on it. See also YHBT. 2. An individual who chronically trolls in sense 1; regularly posts specious arguments, flames or personal attacks to a newsgroup, discussion list, or in email for no other purpose than to annoy someone or disrupt a discussion. Trolls are recognizable by the fact that the have no real interest in learning about the topic at hand - they simply want to utter flame bait. Like the ugly creatures they are named after, they exhibit no redeeming characteristics, and as such, they are recognized as a lower form of life on the net, as in, "Oh, ignore him, he's just a troll." 3. [Berkeley] Computer lab monitor. A popular campus job for CS students. Duties include helping newbies and ensuring that lab policies are followed. Probably so-called because it involves lurking in dark cavelike corners.
Some people claim that the troll (sense 1) is properly a narrower category than flame bait, that a troll is categorized by containing some assertion that is wrong but not overtly controversial. See also Troll-O-Meter.
The use of `troll' in either sense is a live metaphor that readily produces elaborations and combining forms. For example, one not infrequently sees the warning "Do not feed the troll" as part of a followup to troll postings.
Node:Troll-O-Meter, Next:tron, Previous:troll, Up:= T =
Troll-O-Meter n.
Common Usenet jargon for a notional instrument used to measure the quality of a Usenet troll. "Come on, everyone! If the above doesn't set off the Troll-O-Meter, we're going to have to get him to run around with a big blinking sign saying `I am a troll, I'm only in it for the controversy and flames' and shooting random gobs of Jell-O(tm) at us before the point is proven." Mentions of the Troll-O-Meter are often accompanied by an ASCII picture of an arrow pointing at a numeric scale. Compare bogometer.
Node:tron, Next:true-hacker, Previous:Troll-O-Meter, Up:= T =
tron v.
[NRL, CMU; prob. fr. the movie "Tron"] 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.
Note that many dialects of BASIC have a TRON/TROFF command pair that enables/disables line number tracing; this has no obvious relationship to the slang usage.
Node:true-hacker, Next:tty, Previous:tron, Up:= T =
true-hacker n.
[analogy with `trufan' from SF fandom] 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.
Node:tty, Next:tube, Previous:true-hacker, Up:= T =
tty /T-T-Y/, /tit'ee/ n.
The latter pronunciation was primarily ITS, but some Unix people say it this way as well; this pronunciation is not considered to have sexual undertones. 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.
Node:tube, Next:tube time, Previous:tty, Up:= T =
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. 2. [IBM] To send a copy of something to someone else's terminal. "Tube me that note?"
Node:tube time, Next:tunafish, Previous:tube, Up:= T =
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."
Node:tunafish, Next:tune, Previous:tube time, Up:= T =
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, but apparently restored on the 4.4BSD tape and in {Net,Free,Open}BSD. 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."
[It has since been pointed out that indeed you can tunafish. Usually at a canning factory... --ESR]
Node:tune, Next:turbo nerd, Previous:tunafish, Up:= T =
tune vt.
[from automotive or musical usage] 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.
Node:turbo nerd, Next:Turing tar-pit, Previous:tune, Up:= T =
turbo nerd n.
See computer geek.
Node:Turing tar-pit, Next:turist, Previous:turbo nerd, Up:= T =
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".
Node:turist, Next:Tux, Previous:Turing tar-pit, Up:= T =
turist /too'rist/ n.
Var. sp. of tourist, q.v. Also in adjectival form, `turistic'. Poss. influenced by luser and `Turing'.
Node:Tux, Next:tweak, Previous:turist, Up:= T =
Tux
Tux the Penguin is the official emblem of Linux, This eventuated after a logo contest in 1996, during which Linus Torvalds endorsed the idea of a penguin logo in a couple of famously funny postings. Linus explained that he was once bitten by a killer penguin in Australia and has felt a special affinity for the species ever since. (Linus has since admitted that he was also thinking of Feathers McGraw, the evil-genius penguin jewel thief who appeared in a Wallace & Grommit feature cartoon, "The Wrong Trousers".)
Larry Ewing designed the official Tux logo. It has proved a wise choice, amenable to hundreds of recognizable variations used as emblems of Linux-related projects, products, and user groups. In fact, Tux has spawned an entire mythology, of which the Gospel According to Tux and the mock-epic poem "Tuxowolf" are among the best-known examples.
There is a `real' Tux - a black-footed penguin resident at the Bristol Zoo. Several friends of Linux bought a zoo sponsorship for Linus as a birthday present in 1996.
Node:tweak, Next:tweeter, Previous:Tux, Up:= T =
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.
Node:tweeter, Next:TWENEX, Previous:tweak, Up:= T =
tweeter n.
[University of Waterloo] 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.
Node:TWENEX, Next:twiddle, Previous:tweeter, Up:= T =
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.
Node:twiddle, Next:twilight zone, Previous:TWENEX, Up:= T =
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 knobs 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). 4. Uncommon name for the twirling baton prompt.
Node:twilight zone, Next:twink, Previous:twiddle, Up:= T =
twilight zone n. //
[IRC] Notionally, the area of cyberspace where IRC operators live. An op is said to have a "connection to the twilight zone".
Node:twink, Next:twirling baton, Previous:twilight zone, Up:= T =
twink /twink/ n.
1. [Berkeley] A clue-repellant user; the next step beyond a clueless one. 2. [UCSC] A 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').
Node:twirling baton, Next:two pi, Previous:twink, Up:= T =
twirling baton n.
[PLATO] 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 baton spins from right to left. This is also occasionally called a twiddle prompt.
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. The twirling baton is also used as a boot progress indicator on several BSD variants of Unix; if it stops you're probably going to have a long and trying day.
Node:two pi, Next:two-to-the-N, Previous:twirling baton, Up:= T =
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..."
Node:two-to-the-N, Next:twonkie, Previous:two pi, Up:= T =
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.
Node:twonkie, Next:u-, Previous:two-to-the-N, Up:= T =
twonkie /twon'kee/ n.
The software equivalent of a Twinkie (a variety of sugar-loaded junk food, or (in gay slang with a small t) 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.
Node:= U =, Next:= V =, Previous:= T =, Up:The Jargon Lexicon
= U =
u-:
UBD:
UBE:
UCE:
UDP:
UN*X:
undefined external reference:
under the hood:
undocumented feature:
uninteresting:
Unix:
Unix brain damage:
Unix conspiracy:
Unix weenie:
unixism:
unswizzle:
unwind the stack:
unwind-protect:
up:
upload:
upthread:
urchin:
URL:
Usenet:
Usenet Death Penalty:
user:
user-friendly:
user-obsequious:
userland:
USG Unix:
UTSL:
UUCPNET:
Node:u-, Next:UBD, Previous:twonkie, Up:= U =
u- pref.
Written shorthand for micro-; techspeak when applied to metric units, jargon when used otherwise. Derived from the Greek letter "mu", the first letter of "micro" (and which letter looks a lot like the English letter "u").
Node:UBD, Next:UBE, Previous:u-, Up:= U =
UBD /U-B-D/ n.
[abbreviation for `User Brain Damage'] An abbreviation used to close out trouble reports obviously due to utter cluelessness on the user's part. Compare pilot error; oppose PBD; see also brain-damaged.
Node:UBE, Next:UCE, Previous:UBD, Up:= U =
UBE // n.
[abbrev., Unsoliclited Bulk Email] A widespread, more formal term for email spam. Compare UCE. The UBE term recognizes that spam is uttered by nonprofit and advocacy groups whose motives are not commercial.
Node:UCE, Next:UDP, Previous:UBE, Up:= U =
UCE n.
[abbrev., Unsolicited Commercial Email] A widespread, more formal term for email spam. Compare UBE, which may be superseding it.
Node:UDP, Next:UN*X, Previous:UCE, Up:= U =
UDP /U-D-P/ v.,n.
[Usenet] Abbreviation for Usenet Death Penalty. Common (probably now more so than the full form), and frequently verbed. Compare IDP.
Node:UN*X, Next:undefined external reference, Previous:UDP, Up:= U =
UN*X n.
Used to refer to the Unix operating system (a trademark of AT&T, then of Novell, then of SCO, and then of Caldera) in writing, but avoiding the need for the ugly (TM) typography. Also used to refer to any or all varieties of Unixoid operating systems. Ironically, lawyers now say that the requirement for the trademark postfix has no legal force, but the asterisk usage is entrenched anyhow. It has been suggested that there may be a psychological connection to practice in certain religions (especially Judaism) in which the name of the deity is never written out in full, e.g., `YHWH' or `G-d' is used. See also glob and splat out.
Node:undefined external reference, Next:under the hood, Previous:UN*X, Up:= U =
undefined external reference excl.
[Unix] A message from Unix's linker. Used in speech to flag loose ends or dangling references in an argument or discussion.
Node:under the hood, Next:undocumented feature, Previous:undefined external reference, Up:= U =
under the hood adj.
[hot-rodder talk] 1. Used to introduce the underlying implementation of a product (hardware, software, or idea). Implies that the implementation is not intuitively obvious from the appearance, but the speaker is about to enable the listener to grok it. "Let's now look under the hood to see how ...." 2. Can also imply that the implementation is much simpler than the appearance would indicate: "Under the hood, we are just fork/execing the shell." 3. Inside a chassis, as in "Under the hood, this baby has a 40MHz 68030!"
Node:undocumented feature, Next:uninteresting, Previous:under the hood, Up:= U =
undocumented feature n.
See feature.
Node:uninteresting, Next:Unix, Previous:undocumented feature, Up:= U =
uninteresting adj.
1. Said of a problem that, although nontrivial, can be solved simply by throwing sufficient resources at it. 2. Also said of problems for which a solution would neither advance the state of the art nor be fun to design and code.
Hackers regard uninteresting problems as intolerable wastes of time, to be solved (if at all) by lesser mortals. Real hackers (see toolsmith) generalize uninteresting problems enough to make them interesting and solve them -- thus solving the original problem as a special case (and, it must be admitted, occasionally turning a molehill into a mountain, or a mountain into a tectonic plate). See WOMBAT, SMOP; compare toy problem, oppose interesting.
Node:Unix, Next:Unix brain damage, Previous:uninteresting, Up:= U =
Unix /yoo'niks/ n.
[In the authors' words, "A weak pun on Multics"; very early on it was `UNICS'] (also `UNIX') An interactive time-sharing system invented in 1969 by Ken Thompson after Bell Labs left the Multics project, originally so he could play games on his scavenged PDP-7. Dennis Ritchie, the inventor of C, is considered a co-author of the system. The turning point in Unix's history came when it was reimplemented almost entirely in C during 1972-1974, making it the first source-portable OS. Unix subsequently underwent mutations and expansions at the hands of many different people, resulting in a uniquely flexible and developer-friendly environment. By 1991, Unix had become the most widely used multiuser general-purpose operating system in the world - and since 1996 the variiant called Linux has been at the cutting edge of the open source movement. Many people consider the success of Unix the most important victory yet of hackerdom over industry opposition (but see Unix weenie and Unix conspiracy for an opposing point of view). See Version 7, BSD, USG Unix, Linux.
Some people are confused over whether this word is appropriately `UNIX' or `Unix'; both forms are common, and used interchangeably. Dennis Ritchie says that the `UNIX' spelling originally happened in CACM's 1974 paper "The UNIX Time-Sharing System" because "we had a new typesetter and troff had just been invented and we were intoxicated by being able to produce small caps." Later, dmr tried to get the spelling changed to `Unix' in a couple of Bell Labs papers, on the grounds that the word is not acronymic. He failed, and eventually (his words) "wimped out" on the issue. So, while the trademark today is `UNIX', both capitalizations are grounded in ancient usage; the Jargon File uses `Unix' in deference to dmr's wishes.
Node:Unix brain damage, Next:Unix conspiracy, Previous:Unix, Up:= U =
Unix brain damage n.
Something that has to be done to break a network program (typically a mailer) on a non-Unix system so that it will interoperate with Unix systems. The hack may qualify as `Unix brain damage' if the program conforms to published standards and the Unix program in question does not. Unix brain damage happens because it is much easier for other (minority) systems to change their ways to match non-conforming behavior than it is to change all the hundreds of thousands of Unix systems out there.
An example of Unix brain damage is a kluge in a mail server to recognize bare line feed (the Unix newline) as an equivalent form to the Internet standard newline, which is a carriage return followed by a line feed. Such things can make even a hardened jock weep.
Node:Unix conspiracy, Next:Unix weenie, Previous:Unix brain damage, Up:= U =
Unix conspiracy n.
[ITS] According to a conspiracy theory long popular among ITS and TOPS-20 fans, Unix's growth is the result of a plot, hatched during the 1970s at Bell Labs, whose intent was to hobble AT&T's competitors by making them dependent upon a system whose future evolution was to be under AT&T's control. This would be accomplished by disseminating an operating system that is apparently inexpensive and easily portable, but also relatively unreliable and insecure (so as to require continuing upgrades from AT&T). This theory was lent a substantial impetus in 1984 by the paper referenced in the back door entry.
In this view, Unix was designed to be one of the first computer viruses (see virus) -- but a virus spread to computers indirectly by people and market forces, rather than directly through disks and networks. Adherents of this `Unix virus' theory like to cite the fact that the well-known quotation "Unix is snake oil" was uttered by DEC president Kenneth Olsen shortly before DEC began actively promoting its own family of Unix workstations. (Olsen now claims to have been misquoted.)
[If there was ever such a conspiracy, it got thoroughly out of the plotters' control after 1990. AT&T sold its UNIX operation to Novell around the same time Linux and other free-UNIX distributions were beginning to make noise. --ESR]
Node:Unix weenie, Next:unixism, Previous:Unix conspiracy, Up:= U =
Unix weenie n.
[ITS] 1. A derogatory play on `Unix wizard', common among hackers who use Unix by necessity but would prefer alternatives. The implication is that although the person in question may consider mastery of Unix arcana to be a wizardly skill, the only real skill involved is the ability to tolerate (and the bad taste to wallow in) the incoherence and needless complexity that is alleged to infest many Unix programs. "This shell script tries to parse its arguments in 69 bletcherous ways. It must have been written by a real Unix weenie." 2. A derogatory term for anyone who engages in uncritical praise of Unix. Often appearing in the context "stupid Unix weenie". See Weenix, Unix conspiracy. See also weenie.
Node:unixism, Next:unswizzle, Previous:Unix weenie, Up:= U =
unixism n.
A piece of code or a coding technique that depends on the protected multi-tasking environment with relatively low process-spawn overhead that exists on virtual-memory Unix systems. Common unixisms include: gratuitous use of fork(2); the assumption that certain undocumented but well-known features of Unix libraries such as stdio(3) are supported elsewhere; reliance on obscure side-effects of system calls (use of sleep(2) with a 0 argument to clue the scheduler that you're willing to give up your time-slice, for example); the assumption that freshly allocated memory is zeroed; and the assumption that fragmentation problems won't arise from never free()ing memory. Compare vaxocentrism; see also New Jersey.
Node:unswizzle, Next:unwind the stack, Previous:unixism, Up:= U =
unswizzle v.
See swizzle.
Node:unwind the stack, Next:unwind-protect, Previous:unswizzle, Up:= U =
unwind the stack vi.
1. [techspeak] During the execution of a procedural language, one is said to `unwind the stack' from a called procedure up to a caller when one discards the stack frame and any number of frames above it, popping back up to the level of the given caller. In C this is done with longjmp/setjmp, in LISP or C++ with throw/catch. See also smash the stack. 2. People can unwind the stack as well, by quickly dealing with a bunch of problems: "Oh heck, let's do lunch. Just a second while I unwind my stack."
Node:unwind-protect, Next:up, Previous:unwind the stack, Up:= U =
unwind-protect n.
[MIT: from the name of a LISP operator] A task you must remember to perform before you leave a place or finish a project. "I have an unwind-protect to call my advisor."
Node:up, Next:upload, Previous:unwind-protect, Up:= U =
up adj.
1. Working, in order. "The down escalator is up." Oppose down. 2. `bring up': vt. To create a working version and start it. "They brought up a down system." 3. `come up' vi. To become ready for production use.
Node:upload, Next:upthread, Previous:up, Up:= U =
upload /uhp'lohd/ v.
1. [techspeak] To transfer programs or data over a digital communications link from a system near you (espercially a smaller or peripheral `client' system) to one further away from you (especially a larger or central `host' system). A transfer in the other direction is, of course, called a download 2. [speculatively] To move the essential patterns and algorithms that make up one's mind from one's brain into a computer. Those who are convinced that such patterns and algorithms capture the complete essence of the self view this prospect with pleasant anticipation.
Node:upthread, Next:urchin, Previous:upload, Up:= U =
upthread adv.
Earlier in the discussion (see thread), i.e., `above'. "As Joe pointed out upthread, ..." See also followup.
Node:urchin, Next:URL, Previous:upthread, Up:= U =
urchin n.
See munchkin.
Node:URL, Next:Usenet, Previous:urchin, Up:= U =
URL /U-R-L/ or /erl/ n.
Uniform Resource Locator, an address widget that identifies a document or resource on the World Wide Web. This entry is here primarily to record the fact that the term is commonly pronounced both /erl/, and /U-R-L/ (the latter predominates in more formal contexts).
Node:Usenet, Next:Usenet Death Penalty, Previous:URL, Up:= U =
Usenet /yoos'net/ or /yooz'net/ n.
[from `Users' Network'; the original spelling was USENET, but the mixed-case form is now widely preferred] A distributed bboard (bulletin board) system supported mainly by Unix machines. Originally implemented in 1979-1980 by Steve Bellovin, Jim Ellis, Tom Truscott, and Steve Daniel at Duke University, it has swiftly grown to become international in scope and is now probably the largest decentralized information utility in existence. As of early 1996, it hosts over 10,000 newsgroups and an average of over 500 megabytes (the equivalent of several thousand paper pages) of new technical articles, news, discussion, chatter, and flamage every day (and that leaves out the graphics...).
By the year the Internet hit the mainstream (1994) the original UUCP transport for Usenet was fading out of use (see UUCPNET) - almost all Usenet connections were over Internet links. A lot of newbies and journalists began to refer to "Internet newsgroups" as though Usenet was and always had been just another Internet service. This ignorance greatly annoys experienced Usenetters.
Node:Usenet Death Penalty, Next:user, Previous:Usenet, Up:= U =
Usenet Death Penalty
[Usenet] A sanction against sites that habitually spew Usenet spam. This can be either passive or active. A passive UDP refers to the dropping of all postings by a particular domain so as to inhibit propagation. An active UDP refers to third-party cancellation of all postings by the UDPed domain. A partial UDP is one which applies only to certain newsgroups or hierarchies in Usenet. Compare Internet Death Penalty, with which this term is sometimes confused.
Node:user, Next:user-friendly, Previous:Usenet Death Penalty, Up:= U =
user n.
1. Someone doing `real work' with the computer, using it as a means rather than an end. Someone who pays to use a computer. See real user. 2. A programmer who will believe anything you tell him. One who asks silly questions. [GLS observes: This is slightly unfair. It is true that users ask questions (of necessity). Sometimes they are thoughtful or deep. Very often they are annoying or downright stupid, apparently because the user failed to think for two seconds or look in the documentation before bothering the maintainer.] See luser. 3. Someone who uses a program from the outside, however skillfully, without getting into the internals of the program. One who reports bugs instead of just going ahead and fixing them.
The general theory behind this term is that there are two classes of people who work with a program: there are implementors (hackers) and lusers. The users are looked down on by hackers to some extent because they don't understand the full ramifications of the system in all its glory. (The few users who do are known as `real winners'.) The term is a relative one: a skilled hacker may be a user with respect to some program he himself does not hack. A LISP hacker might be one who maintains LISP or one who uses LISP (but with the skill of a hacker). A LISP user is one who uses LISP, whether skillfully or not. Thus there is some overlap between the two terms; the subtle distinctions must be resolved by context.
Node:user-friendly, Next:user-obsequious, Previous:user, Up:= U =
user-friendly adj.
Programmer-hostile. Generally used by hackers in a critical tone, to describe systems that hold the user's hand so obsessively that they make it painful for the more experienced and knowledgeable to get any work done. See menuitis, drool-proof paper, Macintrash, user-obsequious.
Node:user-obsequious, Next:userland, Previous:user-friendly, Up:= U =
user-obsequious adj.
Emphatic form of user-friendly. Connotes a system so verbose, inflexible, and determinedly simple-minded that it is nearly unusable. "Design a system any fool can use and only a fool will want to use it." See WIMP environment, Macintrash.
Node:userland, Next:USG Unix, Previous:user-obsequious, Up:= U =
userland n.
Anywhere outside the kernel. "That code belongs in userland." This term has been in common use among Linux kernel hackers since at leat 1997, and seems to have originated in that community.
Node:USG Unix, Next:UTSL, Previous:userland, Up:= U =
USG Unix /U-S-G yoo'niks/ n.,obs.
Refers to AT&T Unix commercial versions after Version 7, especially System III and System V releases 1, 2, and 3. So called because during most of the lifespan of those versions AT&T's support crew was called the `Unix Support Group', but it is applied to version that pre- and post-dated the USG group but were of the same lineage. This term is now historical. See BSD, Unix.
Node:UTSL, Next:UUCPNET, Previous:USG Unix, Up:= U =
UTSL // n.
[Unix] On-line acronym for `Use the Source, Luke' (a pun on Obi-Wan Kenobi's "Use the Force, Luke!" in "Star Wars") -- analogous to RTFS (sense 1), but more polite. This is a common way of suggesting that someone would be better off reading the source code that supports whatever feature is causing confusion, rather than making yet another futile pass through the manuals, or broadcasting questions on Usenet that haven't attracted wizards to answer them.
Once upon a time in elder days, everyone running Unix had source. After 1978, AT&T's policy tightened up, so this objurgation was in theory appropriately directed only at associates of some outfit with a Unix source license. In practice, bootlegs of Unix source code (made precisely for reference purposes) were so ubiquitous that one could utter it at almost anyone on the network without concern.
Nowadays, free Unix clones have become widely enough distributed that anyone can read source legally. The most widely distributed is certainly Linux, with variants of the NET/2 and 4.4BSD distributions running second. Cheap commercial Unixes with source such as BSD/OS are accelerating this trend.
Node:UUCPNET, Next:V7, Previous:UTSL, Up:= U =
UUCPNET n. obs.
The store-and-forward network consisting of all the world's connected Unix machines (and others running some clone of the UUCP (Unix-to-Unix CoPy) software). Any machine reachable only via a bang path is on UUCPNET. This term has been rendered obsolescent by the spread of cheap Internet connections in the 1990s; the few remaining UUCP links are essentially slow channels to the Internet rather than an autonomous network. See network address.
Node:= V =, Next:= W =, Previous:= U =, Up:The Jargon Lexicon
= V =
V7:
vadding:
vanilla:
vanity domain:
vannevar:
vaporware:
var:
vaston:
VAX:
VAXectomy:
VAXen:
vaxherd:
vaxism:
vaxocentrism:
vdiff:
veeblefester:
velveeta:
ventilator card:
Venus flytrap:
verbage:
verbiage:
Version 7:
vgrep:
vi:
video toaster:
videotex:
virgin:
virtual:
virtual beer:
virtual Friday:
virtual reality:
virtual shredder:
virus:
visionary:
VMS:
voice:
voice-net:
voodoo programming:
VR:
Vulcan nerve pinch:
vulture capitalist:
Node:V7, Next:vadding, Previous:UUCPNET, Up:= V =
V7 /V'sev'en/ n.
See Version 7.
Node:vadding, Next:vanilla, Previous:V7, Up:= V =
vadding /vad'ing/ n.
[from VAD, a permutation of ADV (i.e., ADVENT), used to avoid a particular admin's continual search-and-destroy sweeps for the game] A leisure-time activity of certain hackers involving the covert exploration of the `secret' parts of large buildings -- basements, roofs, freight elevators, maintenance crawlways, steam tunnels, and the like. A few go so far as to learn locksmithing in order to synthesize vadding keys. The verb is `to vad' (compare phreaking; see also hack, sense 9). This term dates from the late 1970s, before which such activity was simply called `hacking'; the older usage is still prevalent at MIT.
The most extreme and dangerous form of vadding is `elevator rodeo', a.k.a. `elevator surfing', a sport played by wrasslin' down a thousand-pound elevator car with a 3-foot piece of string, and then exploiting this mastery in various stimulating ways (such as elevator hopping, shaft exploration, rat-racing, and the ever-popular drop experiments). Kids, don't try this at home! See also hobbit (sense 2).
Node:vanilla, Next:vanity domain, Previous:vadding, Up:= V =
vanilla adj.
[from the default flavor of ice cream in the U.S.] Ordinary flavor, standard. When used of food, very often does not mean that the food is flavored with vanilla extract! For example, `vanilla wonton soup' means ordinary wonton soup, as opposed to hot-and-sour wonton soup. Applied to hardware and software, as in "Vanilla Version 7 Unix can't run on a vanilla 11/34." Also used to orthogonalize chip nomenclature; for instance, a 74V00 means what TI calls a 7400, as distinct from a 74LS00, etc. This word differs from canonical in that the latter means `default', whereas vanilla simply means `ordinary'. For example, when hackers go on a great-wall, hot-and-sour soup is the canonical soup to get (because that is what most of them usually order) even though it isn't the vanilla (wonton) soup.
Node:vanity domain, Next:vannevar, Previous:vanilla, Up:= V =
vanity domain n.
[common; from `vanity plate' as in car license plate] An Internet domain, particularly in the .com or .org top-level domains, apparently created for no reason other than boosting the creator's ego.
Node:vannevar, Next:vaporware, Previous:vanity domain, Up:= V =
vannevar /van'*-var/ n.
A bogus technological prediction or a foredoomed engineering concept, esp. one that fails by implicitly assuming that technologies develop linearly, incrementally, and in isolation from one another when in fact the learning curve tends to be highly nonlinear, revolutions are common, and competition is the rule. The prototype was Vannevar Bush's prediction of `electronic brains' the size of the Empire State Building with a Niagara-Falls-equivalent cooling system for their tubes and relays, a prediction made at a time when the semiconductor effect had already been demonstrated. Other famous vannevars have included magnetic-bubble memory, LISP machines, videotex, and a paper from the late 1970s that computed a purported ultimate limit on areal density for ICs that was in fact less than the routine densities of 5 years later.
Node:vaporware, Next:var, Previous:vannevar, Up:= V =
vaporware /vay'pr-weir/ n.
Products announced far in advance of any release (which may or may not actually take place). See also brochureware.
Node:var, Next:vaston, Previous:vaporware, Up:= V =
var /veir/ or /var/ n.
Short for `variable'. Compare arg, param.
Node:vaston, Next:VAX, Previous:var, Up:= V =
vaston n.
[Durham, UK] The unit of `load average'. A measure of how much work a computer is doing. A meter displaying this as a function of time is known as a `vastometer'. First used during a computing practical in December 1996.
Node:VAX, Next:VAXectomy, Previous:vaston, Up:= V =
VAX /vaks/ n.
1. [from Virtual Address eXtension] The most successful minicomputer design in industry history, possibly excepting its immediate ancestor, the PDP-11. Between its release in 1978 and its eclipse by killer micros after about 1986, the VAX was probably the hacker's favorite machine of them all, esp. after the 1982 release of 4.2 BSD Unix (see BSD). Esp. noted for its large, assembler-programmer-friendly instruction set -- an asset that became a liability after the RISC revolution. 2. A major brand of vacuum cleaner in Britain. Cited here because its sales pitch, "Nothing sucks like a VAX!" became a sort of battle-cry of RISC partisans. It is even sometimes claimed that DEC actually entered a cross-licensing deal with the vacuum-Vax people that allowed them to market VAX computers in the U.K. in return for not challenging the vacuum cleaner trademark in the U.S.
A rival brand actually pioneered the slogan: its original form was "Nothing sucks like Electrolux". It has apparently become a classic example (used in advertising textbooks) of the perils of not knowing the local idiom. But in 1996, the press manager of Electrolux AB, while confirming that the company used this slogan in the late 1960s, also tells us that their marketing people were fully aware of the possible double entendre and intended it to gain attention.
And gain attention it did - the VAX-vacuum-cleaner people thought the slogan a sufficiently good idea to copy it. Several British hackers report that VAX's promotions used it in 1986-1987, and we have one report from a New Zealander that the infamous slogan surfaced there in TV ads for the product in 1992.
Node:VAXectomy, Next:VAXen, Previous:VAX, Up:= V =
VAXectomy /vak-sek't*-mee/ n.
[by analogy with `vasectomy'] A VAX removal. DEC's Microvaxen, especially, are much slower than newer RISC-based workstations such as the SPARC. Thus, if one knows one has a replacement coming, VAX removal can be cause for celebration.
Node:VAXen, Next:vaxherd, Previous:VAXectomy, Up:= V =
VAXen /vak'sn/ n.
[from `oxen', perhaps influenced by `vixen'] (alt. `vaxen') The plural canonically used among hackers for the DEC VAX computers. "Our installation has four PDP-10s and twenty vaxen." See boxen.
Node:vaxherd, Next:vaxism, Previous:VAXen, Up:= V =
vaxherd /vaks'herd/ n. obs.
[from `oxherd'] A VAX operator. The image is reinforced because VAXen actually did tend to come in herds, technically known as `clusters'.
Node:vaxism, Next:vaxocentrism, Previous:vaxherd, Up:= V =
vaxism /vak'sizm/ n.
A piece of code that exhibits vaxocentrism in critical areas. Compare PC-ism, unixism.
Node:vaxocentrism, Next:vdiff, Previous:vaxism, Up:= V =
vaxocentrism /vak`soh-sen'trizm/ n.
[analogy with `ethnocentrism'] A notional disease said to afflict C programmers who persist in coding according to certain assumptions that are valid (esp. under Unix) on VAXen but false elsewhere. Among these are:
The assumption that dereferencing a null pointer is safe because it is all bits 0, and location 0 is readable and 0. Problem: this may instead cause an illegal-address trap on non-VAXen, and even on VAXen under OSes other than BSD Unix. Usually this is an implicit assumption of sloppy code (forgetting to check the pointer before using it), rather than deliberate exploitation of a misfeature.
The assumption that characters are signed.
The assumption that a pointer to any one type can freely be cast into a pointer to any other type. A stronger form of this is the assumption that all pointers are the same size and format, which means you don't have to worry about getting the casts or types correct in calls. Problem: this fails on word-oriented machines or others with multiple pointer formats.
The assumption that the parameters of a routine are stored in memory, on a stack, contiguously, and in strictly ascending or descending order. Problem: this fails on many RISC architectures.
The assumption that pointer and integer types are the same size, and that pointers can be stuffed into integer variables (and vice-versa) and drawn back out without being truncated or mangled. Problem: this fails on segmented architectures or word-oriented machines with funny pointer formats.
The assumption that a data type of any size may begin at any byte address in memory (for example, that you can freely construct and dereference a pointer to a word- or greater-sized object at an odd char address). Problem: this fails on many (esp. RISC) architectures better optimized for HLL execution speed, and can cause an illegal address fault or bus error.
The (related) assumption that there is no padding at the end of types and that in an array you can thus step right from the last byte of a previous component to the first byte of the next one. This is not only machine- but compiler-dependent.
The assumption that memory address space is globally flat and that the array reference foo[-1] is necessarily valid. Problem: this fails at 0, or other places on segment-addressed machines like Intel chips (yes, segmentation is universally considered a brain-damaged way to design machines (see moby), but that is a separate issue).
The assumption that objects can be arbitrarily large with no special considerations. Problem: this fails on segmented architectures and under non-virtual-addressing environments.
The assumption that the stack can be as large as memory. Problem: this fails on segmented architectures or almost anything else without virtual addressing and a paged stack.
The assumption that bits and addressable units within an object are ordered in the same way and that this order is a constant of nature. Problem: this fails on big-endian machines.
The assumption that it is meaningful to compare pointers to different objects not located within the same array, or to objects of different types. Problem: the former fails on segmented architectures, the latter on word-oriented machines or others with multiple pointer formats.
The assumption that an int is 32 bits, or (nearly equivalently) the assumption that sizeof(int) == sizeof(long). Problem: this fails on PDP-11s, 286-based systems and even on 386 and 68000 systems under some compilers (and on 64-bit systems like the Alpha, of course).
The assumption that argv[] is writable. Problem: this fails in many embedded-systems C environments and even under a few flavors of Unix.
Note that a programmer can validly be accused of vaxocentrism even if he or she has never seen a VAX. Some of these assumptions (esp. 2-5) were valid on the PDP-11, the original C machine, and became endemic years before the VAX. The terms `vaxocentricity' and `all-the-world's-a-VAX syndrome' have been used synonymously.
Node:vdiff, Next:veeblefester, Previous:vaxocentrism, Up:= V =
vdiff /vee'dif/ v.,n.
Visual diff. The operation of finding differences between two files by eyeball search. The term `optical diff' has also been reported, and is sometimes more specifically used for the act of superimposing two nearly identical printouts on one another and holding them up to a light to spot differences. Though this method is poor for detecting omissions in the `rear' file, it can also be used with printouts of graphics, a claim few if any diff programs can make. See diff.
Node:veeblefester, Next:velveeta, Previous:vdiff, Up:= V =
veeblefester /vee'b*l-fes`tr/ n.
[from the "Born Loser" comix via Commodore; prob. originally from "Mad" Magazine's `Veeblefetzer' parodies beginning in #15, 1954] Any obnoxious person engaged in the (alleged) professions of marketing or management. Antonym of hacker. Compare suit, marketroid.
Node:velveeta, Next:ventilator card, Previous:veeblefester, Up:= V =
velveeta n.
[Usenet: by analogy with spam. The trade name Velveeta is attached in the U.S. to a particularly nasty processed-cheese spread.] Also knows as ECP; a message that is excessively cross-posted, as opposed to spam which is too frequently posted. This term is widely recognized but not commonly used; most people refer to both kinds of abuse as spam. Compare jello.
Node:ventilator card, Next:Venus flytrap, Previous:velveeta, Up:= V =
ventilator card n.
Syn. lace card.
Node:Venus flytrap, Next:verbage, Previous:ventilator card, Up:= V =
Venus flytrap n.
[after the insect-eating plant] See firewall machine.
Node:verbage, Next:verbiage, Previous:Venus flytrap, Up:= V =
verbage /ver'b*j/ n.
A deliberate misspelling and mispronunciation of verbiage that assimilates it to the word `garbage'. Compare content-free. More pejorative than `verbiage'.
Node:verbiage, Next:Version 7, Previous:verbage, Up:= V =
verbiage n.
When the context involves a software or hardware system, this refers to documentation. This term borrows the connotations of mainstream `verbiage' to suggest that the documentation is of marginal utility and that the motives behind its production have little to do with the ostensible subject.
Node:Version 7, Next:vgrep, Previous:verbiage, Up:= V =
Version 7 alt. V7 /vee' se'vn/ n.
The first widely distributed version of Unix, released unsupported by Bell Labs in 1978. The term is used adjectivally to describe Unix features and programs that date from that release, and are thus guaranteed to be present and portable in all Unix versions (this was the standard gauge of portability before the POSIX and IEEE 1003 standards). Note that this usage does not derive from the release being the "seventh version of Unix"; research Unix at Bell Labs has traditionally been numbered according to the edition of the associated documentation. Indeed, only the widely-distributed Sixth and Seventh Editions are widely known as V[67]; the OS that might today be known as `V10' is instead known in full as "Tenth Edition Research Unix" or just "Tenth Edition" for short. For this reason, "V7" is often read by cognoscenti as "Seventh Edition". See BSD, USG Unix, Unix. Some old-timers impatient with commercialization and kernel bloat still maintain that V7 was the Last True Unix.
Node:vgrep, Next:vi, Previous:Version 7, Up:= V =
vgrep /vee'grep/ v.,n.
Visual grep. The operation of finding patterns in a file optically rather than digitally (also called an `optical grep'). See grep; compare vdiff.
Node:vi, Next:video toaster, Previous:vgrep, Up:= V =
vi /V-I/, not /vi:/ and never /siks/ n.
[from `Visual Interface'] A screen editor crufted together by Bill Joy for an early BSD release. Became the de facto standard Unix editor and a nearly undisputed hacker favorite outside of MIT until the rise of EMACS after about 1984. Tends to frustrate new users no end, as it will neither take commands while expecting input text nor vice versa, and the default setup on older versions provides no indication of which mode the editor is in (years ago, a correspondent reported that he has often heard the editor's name pronounced /vi:l/; there is now a vi clone named `vile'). Nevertheless vi (and variants such as vim and elvis) is still widely used (about half the respondents in a 1991 Usenet poll preferred it), and even EMACS fans often resort to it as a mail editor and for small editing jobs (mainly because it starts up faster than the bulkier versions of EMACS). See holy wars.
Node:video toaster, Next:videotex, Previous:vi, Up:= V =
video toaster n.
Historically, an Amiga fitted with a particular line of special video effects hardware from NewTek - long a popular platform at special-effects and video production houses. More generally, any computer system designed specifically for video production and manipulation. Compare web toaster and see toaster.
Node:videotex, Next:virgin, Previous:video toaster, Up:= V =
videotex n. obs.
An electronic service offering people the privilege of paying to read the weather on their television screens instead of having somebody read it to them for free while they brush their teeth. The idea bombed everywhere it wasn't government-subsidized, because by the time videotex was practical the installed base of personal computers could hook up to timesharing services and do the things for which videotex might have been worthwhile better and cheaper. Videotex planners badly overestimated both the appeal of getting information from a computer and the cost of local intelligence at the user's end. Like the gorilla arm effect, this has been a cautionary tale to hackers ever since. See also vannevar.
Node:virgin, Next:virtual, Previous:videotex, Up:= V =
virgin adj.
Unused; pristine; in a known initial state. "Let's bring up a virgin system and see if it crashes again." (Esp. useful after contracting a virus through SEX.) Also, by extension, buffers and the like within a program that have not yet been used.
Node:virtual, Next:virtual beer, Previous:virgin, Up:= V =
virtual adj.
[via the technical term `virtual memory', prob. from the term `virtual image' in optics] 1. Common alternative to logical; often used to refer to the artificial objects (like addressable virtual memory larger than physical memory) simulated by a computer system as a convenient way to manage access to shared resources. 2. Simulated; performing the functions of something that isn't really there. An imaginative child's doll may be a virtual playmate. Oppose real.
Node:virtual beer, Next:virtual Friday, Previous:virtual, Up:= V =
virtual beer n.
Praise or thanks. Used universally in the Linux community. Originally this term signified cash, after a famous incident in which some some Britishers who wanted to buy Linus a beer and sent him money to Finland to do so.
Node:virtual Friday, Next:virtual reality, Previous:virtual beer, Up:= V =
virtual Friday n.
(also `logical Friday') The last day before an extended weekend, if that day is not a `real' Friday. For example, the U.S. holiday Thanksgiving is always on a Thursday. The next day is often also a holiday or taken as an extra day off, in which case Wednesday of that week is a virtual Friday (and Thursday is a virtual Saturday, as is Friday). There are also `virtual Mondays' that are actually Tuesdays, after the three-day weekends associated with many national holidays in the U.S.
Node:virtual reality, Next:virtual shredder, Previous:virtual Friday, Up:= V =
virtual reality n.
1. Computer simulations that use 3-D graphics and devices such as the Dataglove to allow the user to interact with the simulation. See cyberspace. 2. A form of network interaction incorporating aspects of role-playing games, interactive theater, improvisational comedy, and `true confessions' magazines. In a virtual reality forum (such as Usenet's alt.callahans newsgroup or the MUD experiments on Internet), interaction between the participants is written like a shared novel complete with scenery, `foreground characters' that may be personae utterly unlike the people who write them, and common `background characters' manipulable by all parties. The one iron law is that you may not write irreversible changes to a character without the consent of the person who `owns' it. Otherwise anything goes. See bamf, cyberspace, teledildonics.
Node:virtual shredder, Next:virus, Previous:virtual reality, Up:= V =
virtual shredder n.
The jargonic equivalent of the bit bucket at shops using IBM's VM/CMS operating system. VM/CMS officially supports a whole bestiary of virtual card readers, virtual printers, and other phantom devices; these are used to supply some of the same capabilities Unix gets from pipes and I/O redirection.
Node:virus, Next:visionary, Previous:virtual shredder, Up:= V =
virus n.
[from the obvious analogy with biological viruses, via SF] A cracker program that searches out other programs and `infects' them by embedding a copy of itself in them, so that they become Trojan horses. When these programs are executed, the embedded virus is executed too, thus propagating the `infection'. This normally happens invisibly to the user. Unlike a worm, a virus cannot infect other computers without assistance. It is propagated by vectors such as humans trading programs with their friends (see SEX). The virus may do nothing but propagate itself and then allow the program to run normally. Usually, however, after propagating silently for a while, it starts doing things like writing cute messages on the terminal or playing strange tricks with the display (some viruses include nice display hacks). Many nasty viruses, written by particularly perversely minded crackers, do irreversible damage, like nuking all the user's files.
In the 1990s, viruses became a serious problem, especially among Windows users; the lack of security on these machines enables viruses to spread easily, even infecting the operating system (Unix machines, by contrast, are immune to such attacks). The production of special anti-virus software has become an industry, and a number of exaggerated media reports have caused outbreaks of near hysteria among users; many lusers tend to blame everything that doesn't work as they had expected on virus attacks. Accordingly, this sense of `virus' has passed not only into techspeak but into also popular usage (where it is often incorrectly used to denote a worm or even a Trojan horse). See phage; compare back door; see also Unix conspiracy.
Node:visionary, Next:VMS, Previous:virus, Up:= V =
visionary n.
1. One who hacks vision, in the sense of an Artificial Intelligence researcher working on the problem of getting computers to `see' things using TV cameras. (There isn't any problem in sending information from a TV camera to a computer. The problem is, how can the computer be programmed to make use of the camera information? See SMOP, AI-complete.) 2. [IBM] One who reads the outside literature. At IBM, apparently, such a penchant is viewed with awe and wonder.
Node:VMS, Next:voice, Previous:visionary, Up:= V =
VMS /V-M-S/ n.
DEC's proprietary operating system for its VAX minicomputer; one of the seven or so environments that loom largest in hacker folklore. Many Unix fans generously concede that VMS would probably be the hacker's favorite commercial OS if Unix didn't exist; though true, this makes VMS fans furious. One major hacker gripe with VMS concerns its slowness -- thus the following limerick:
There once was a system called VMS Of cycles by no means abstemious. It's chock-full of hacks And runs on a VAX And makes my poor stomach all squeamious. --- The Great Quux
See also VAX, TOPS-10, TOPS-20, Unix, runic.
Node:voice, Next:voice-net, Previous:VMS, Up:= V =
voice vt.
To phone someone, as opposed to emailing them or connecting in talk mode. "I'm busy now; I'll voice you later."
Node:voice-net, Next:voodoo programming, Previous:voice, Up:= V =
voice-net n.
Hackish way of referring to the telephone system, analogizing it to a digital network. Usenet sig blocks not uncommonly include the sender's phone next to a "Voice:" or "Voice-Net:" header; common variants of this are "Voicenet" and "V-Net". Compare paper-net, snail-mail.
Node:voodoo programming, Next:VR, Previous:voice-net, Up:= V =
voodoo programming n.
[from George Bush's "voodoo economics"] 1. The use by guess or cookbook of an obscure or hairy system, feature, or algorithm that one does not truly understand. The implication is that the technique may not work, and if it doesn't, one will never know why. Almost synonymous with black magic, except that black magic typically isn't documented and nobody understands it. Compare magic, deep magic, heavy wizardry, rain dance, cargo cult programming, wave a dead chicken. 2. Things programmers do that they know shouldn't work but they try anyway, and which sometimes actually work, such as recompiling everything.
Node:VR, Next:Vulcan nerve pinch, Previous:voodoo programming, Up:= V =
VR // [MUD] n.
On-line abbrev for virtual reality, as opposed to RL.
Node:Vulcan nerve pinch, Next:vulture capitalist, Previous:VR, Up:= V =
Vulcan nerve pinch n.
[from the old "Star Trek" TV series via Commodore Amiga hackers] The keyboard combination that forces a soft-boot or jump to ROM monitor (on machines that support such a feature). On PC clones this is Ctrl-Alt-Del; on Suns, L1-A; on Macintoshes, it is <Cmd>-<Power switch> or <CMD>-<CTRL>-<POWER>! Also called three-finger salute. Compare quadruple bucky.
Node:vulture capitalist, Next:W2K bug, Previous:Vulcan nerve pinch, Up:= V =
vulture capitalist n.
Pejorative hackerism for `venture capitalist', deriving from the common practice of pushing contracts that deprive inventors of control over their own innovations and most of the money they ought to have made from them.
Node:= W =, Next:= X =, Previous:= V =, Up:The Jargon Lexicon
= W =
W2K bug:
wabbit:
WAITS:
waldo:
walk:
walk off the end of:
walking drives:
wall:
wall follower:
wall time:
wall wart:
wallpaper:
wango:
wank:
wannabee:
war dialer:
-ware:
warez:
warez d00dz:
warez kiddies:
warlording:
warm boot:
wart:
washing machine:
washing software:
water MIPS:
wave a dead chicken:
weasel:
web pointer:
web toaster:
webify:
webmaster:
web ring:
wedged:
wedgie:
wedgitude:
weeble:
weeds:
weenie:
Weenix:
well-behaved:
well-connected:
wetware:
whack:
whack-a-mole:
whacker:
whales:
whalesong:
What's a spline?:
wheel:
wheel bit:
wheel of reincarnation:
wheel wars:
White Book:
whitelist:
whizzy:
wibble:
WIBNI:
widget:
wiggles:
WIMP environment:
win:
win big:
win win:
Winchester:
windoid:
window shopping:
Windoze:
winged comments:
winkey:
winnage:
winner:
winnitude:
Wintel:
wired:
wirehead:
wirewater:
wish list:
within delta of:
within epsilon of:
wizard:
Wizard Book:
wizard hat:
wizard mode:
wizardly:
wok-on-the-wall:
womb box:
WOMBAT:
womble:
wonky:
woofer:
workaround:
working as designed:
worm:
wormhole:
wound around the axle:
wrap around:
write-only code:
write-only language:
write-only memory:
Wrong Thing:
wugga wugga:
wumpus:
WYSIAYG:
WYSIWYG:
Node:W2K bug, Next:wabbit, Previous:vulture capitalist, Up:= W =
W2K bug
[from `Y2K bug' for the Year 2000 problem] The upcoming deployment of Microsoft's Windows 2000 operating system, which hackers generally expect will be among the worst train wrecks in the history of software engineering. Such is the power of Microsoft marketing, however, that it is also expected this will not become obvious until it has incurred hundreds of millions of dollars in downtime and lost opportunity costs.
Node:wabbit, Next:WAITS, Previous:W2K bug, Up:= W =
wabbit /wab'it/ n.
[almost certainly from Elmer Fudd's immortal line "You wascawwy wabbit!"] 1. A legendary early hack reported on a System/360 at RPI and elsewhere around 1978; this may have descended (if only by inspiration) from a hack called RABBITS reported from 1969 on a Burroughs 5500 at the University of Washington Computer Center. The program would make two copies of itself every time it was run, eventually crashing the system. 2. By extension, any hack that includes infinite self-replication but is not a virus or worm. See fork bomb and rabbit job, see also cookie monster.
Node:WAITS, Next:waldo, Previous:wabbit, Up:= W =
WAITS /wayts/ n.
The mutant cousin of TOPS-10 used on a handful of systems at SAIL up to 1990. There was never an `official' expansion of WAITS (the name itself having been arrived at by a rather sideways process), but it was frequently glossed as `West-coast Alternative to ITS'. Though WAITS was less visible than ITS, there was frequent exchange of people and ideas between the two communities, and innovations pioneered at WAITS exerted enormous indirect influence. The early screen modes of EMACS, for example, were directly inspired by WAITS's `E' editor -- one of a family of editors that were the first to do `real-time editing', in which the editing commands were invisible and where one typed text at the point of insertion/overwriting. The modern style of multi-region windowing is said to have originated there, and WAITS alumni at XEROX PARC and elsewhere played major roles in the developments that led to the XEROX Star, the Macintosh, and the Sun workstations. Also invented there were bucky bits -- thus, the ALT key on every IBM PC is a WAITS legacy. One WAITS feature very notable in pre-Web days was a news-wire interface that allowed WAITS hackers to read, store, and filter AP and UPI dispatches from their terminals; the system also featured a still-unusual level of support for what is now called `multimedia' computing, allowing analog audio and video signals to be switched to programming terminals.
Node:waldo, Next:walk, Previous:WAITS, Up:= W =
waldo /wol'doh/ n.
[From Robert A. Heinlein's story "Waldo"] 1. A mechanical agent, such as a gripper arm, controlled by a human limb. When these were developed for the nuclear industry in the mid-1940s they were named after the invention described by Heinlein in the story, which he wrote in 1942. Now known by the more generic term `telefactoring', this technology is of intense interest to NASA for tasks like space station maintenance. 2. At Harvard (particularly by Tom Cheatham and students), this is used instead of foobar as a metasyntactic variable and general nonsense word. See foo, bar, foobar, quux.
Node:walk, Next:walk off the end of, Previous:waldo, Up:= W =
walk n.,vt.
Traversal of a data structure, especially an array or linked-list data structure in core. See also codewalker, silly walk, clobber.
Node:walk off the end of, Next:walking drives, Previous:walk, Up:= W =
walk off the end of vt.
To run past the end of an array, list, or medium after stepping through it -- a good way to land in trouble. Often the result of an off-by-one error. Compare clobber, roach, smash the stack.
Node:walking drives, Next:wall, Previous:walk off the end of, Up:= W =
walking drives n.
An occasional failure mode of magnetic-disk drives back in the days when they were huge, clunky washing machines. Those old dinosaur parts carried terrific angular momentum; the combination of a misaligned spindle or worn bearings and stick-slip interactions with the floor could cause them to `walk' across a room, lurching alternate corners forward a couple of millimeters at a time. There is a legend about a drive that walked over to the only door to the computer room and jammed it shut; the staff had to cut a hole in the wall in order to get at it! Walking could also be induced by certain patterns of drive access (a fast seek across the whole width of the disk, followed by a slow seek in the other direction). Some bands of old-time hackers figured out how to induce disk-accessing patterns that would do this to particular drive models and held disk-drive races.
Node:wall, Next:wall follower, Previous:walking drives, Up:= W =
wall interj.
[WPI] 1. An indication of confusion, usually spoken with a quizzical tone: "Wall??" 2. A request for further explication. Compare octal forty. 3. [Unix, from `write all'] v. To send a message to everyone currently logged in, esp. with the wall(8) utility.
It is said that sense 1 came from the idiom `like talking to a blank wall'. It was originally used in situations where, after you had carefully answered a question, the questioner stared at you blankly, clearly having understood nothing that was explained. You would then throw out a "Hello, wall?" to elicit some sort of response from the questioner. Later, confused questioners began voicing "Wall?" themselves.
Node:wall follower, Next:wall time, Previous:wall, Up:= W =
wall follower n.
A person or algorithm that compensates for lack of sophistication or native stupidity by efficiently following some simple procedure shown to have been effective in the past. Used of an algorithm, this is not necessarily pejorative; it recalls `Harvey Wallbanger', the winning robot in an early AI contest (named, of course, after the cocktail). Harvey successfully solved mazes by keeping a `finger' on one wall and running till it came out the other end. This was inelegant, but it was mathematically guaranteed to work on simply-connected mazes -- and, in fact, Harvey outperformed more sophisticated robots that tried to `learn' each maze by building an internal representation of it. Used of humans, the term is pejorative and implies an uncreative, bureaucratic, by-the-book mentality. See also code grinder; compare droid.
Node:wall time, Next:wall wart, Previous:wall follower, Up:= W =
wall time n.
(also `wall clock time') 1. `Real world' time (what the clock on the wall shows), as opposed to the system clock's idea of time. 2. The real running time of a program, as opposed to the number of ticks required to execute it (on a timesharing system these always differ, as no one program gets all the ticks, and on multiprocessor systems with good thread support one may get more processor time than real time).
Node:wall wart, Next:wallpaper, Previous:wall time, Up:= W =
wall wart n.
A small power-supply brick with integral male plug, designed to plug directly into a wall outlet; called a `wart' because when installed on a power strip it tends to block up at least one more socket than it uses.. These are frequently associated with modems and other small electronic devices which would become unacceptably bulky or hot if they had power supplies on board (there are other reasons as well having to do with the cost of UL certification).
Node:wallpaper, Next:wango, Previous:wall wart, Up:= W =
wallpaper n.
1. A file containing a listing (e.g., assembly listing) or a transcript, esp. a file containing a transcript of all or part of a login session. (The idea was that the paper for such listings was essentially good only for wallpaper, as evidenced at Stanford, where it was used to cover windows.) Now rare, esp. since other systems have developed other terms for it (e.g., PHOTO on TWENEX). However, the Unix world doesn't have an equivalent term, so perhaps wallpaper will take hold there. The term probably originated on ITS, where the commands to begin and end transcript files were :WALBEG and :WALEND, with default file WALL PAPER (the space was a path delimiter). 2. The background pattern used on graphical workstations (this is techspeak under the `Windows' graphical user interface to MS-DOS). 3. `wallpaper file' n. The file that contains the wallpaper information before it is actually printed on paper. (Even if you don't intend ever to produce a real paper copy of the file, it is still called a wallpaper file.)
Node:wango, Next:wank, Previous:wallpaper, Up:= W =
wango /wang'goh/ n.
Random bit-level grovelling going on in a system during some unspecified operation. Often used in combination with mumble. For example: "You start with the `.o' file, run it through this postprocessor that does mumble-wango -- and it comes out a snazzy object-oriented executable."
Node:wank, Next:wannabee, Previous:wango, Up:= W =
wank /wangk/ n.,v.,adj.
[Columbia University: prob. by mutation from Commonwealth slang v. `wank', to masturbate] Used much as hack is elsewhere, as a noun denoting a clever technique or person or the result of such cleverness. May describe (negatively) the act of hacking for hacking's sake ("Quit wanking, let's go get supper!") or (more positively) a wizard. Adj. `wanky' describes something particularly clever (a person, program, or algorithm). Conversations can also get wanky when there are too many wanks involved. This excess wankiness is signalled by an overload of the `wankometer' (compare bogometer). When the wankometer overloads, the conversation's subject must be changed, or all non-wanks will leave. Compare `neep-neeping' (under neep-neep). Usage: U.S. only. In Britain and the Commonwealth this word is extremely rude and is best avoided unless one intends to give offense. Adjectival `wanky' is less offensive and simply means `stupid' or `broken' (this is mainstream in Great Britain).
Node:wannabee, Next:war dialer, Previous:wank, Up:= W =
wannabee /won'*-bee/ n.
(also, more plausibly, spelled `wannabe') [from a term recently used to describe Madonna fans who dress, talk, and act like their idol; prob. originally from biker slang] A would-be hacker. The connotations of this term differ sharply depending on the age and exposure of the subject. Used of a person who is in or might be entering larval stage, it is semi-approving; such wannabees can be annoying but most hackers remember that they, too, were once such creatures. When used of any professional programmer, CS academic, writer, or suit, it is derogatory, implying that said person is trying to cuddle up to the hacker mystique but doesn't, fundamentally, have a prayer of understanding what it is all about. Overuse of terms from this lexicon is often an indication of the wannabee nature. Compare newbie.
Historical note: The wannabee phenomenon has a slightly different flavor now (1993) than it did ten or fifteen years ago. When the people who are now hackerdom's tribal elders were in larval stage, the process of becoming a hacker was largely unconscious and unaffected by models known in popular culture -- communities formed spontaneously around people who, as individuals, felt irresistibly drawn to do hackerly things, and what wannabees experienced was a fairly pure, skill-focused desire to become similarly wizardly. Those days of innocence are gone forever; society's adaptation to the advent of the microcomputer after 1980 included the elevation of the hacker as a new kind of folk hero, and the result is that some people semi-consciously set out to be hackers and borrow hackish prestige by fitting the popular image of hackers. Fortunately, to do this really well, one has to actually become a wizard. Nevertheless, old-time hackers tend to share a poorly articulated disquiet about the change; among other things, it gives them mixed feelings about the effects of public compendia of lore like this one.
Node:war dialer, Next:-ware, Previous:wannabee, Up:= W =
war dialer n.
A cracking tool, a program that calls a given list or range of phone numbers and records those which answer with handshake tones (and so might be entry points to computer or telecommunications systems). Some of these programs have become quite sophisticated, and can now detect modem, fax, or PBX tones and log each one separately. The war dialer is one of the most important tools in the phreaker's kit. These programs evolved from early demon dialers.
Node:-ware, Next:warez, Previous:war dialer, Up:= W =
-ware suff.
[from `software'] Commonly used to form jargon terms for classes of software. For examples, see annoyware, careware, crippleware, crudware, freeware, fritterware, guiltware, liveware, meatware, payware, psychedelicware, shareware, shelfware, vaporware, wetware.
Node:warez, Next:warez d00dz, Previous:-ware, Up:= W =
warez /weirz/ n.
Widely used in cracker subcultures to denote cracked version of commercial software, that is versions from which copy-protection has been stripped. Hackers recognize this term but don't use it themselves. See warez d00dz, courier, leech, elite.
Node:warez d00dz, Next:warez kiddies, Previous:warez, Up:= W =
warez d00dz /weirz doodz/ n.
A substantial subculture of crackers refer to themselves as `warez d00dz'; there is evidently some connection with B1FF here. As `Ozone Pilot', one former warez d00d, wrote:
Warez d00dz get illegal copies of copyrighted software. If it has copy protection on it, they break the protection so the software can be copied. Then they distribute it around the world via several gateways. Warez d00dz form badass group names like RAZOR and the like. They put up boards that distribute the latest ware, or pirate program. The whole point of the Warez sub-culture is to get the pirate program released and distributed before any other group. I know, I know. But don't ask, and it won't hurt as much. This is how they prove their poweress [sic]. It gives them the right to say, "I released King's Quest IVXIX before you so obviously my testicles are larger." Again don't ask...
The studly thing to do if one is a warez d00d, it appears, is emit `0-day warez', that is copies of commercial software copied and cracked on the same day as its retail release. Warez d00ds also hoard software in a big way, collecting untold megabytes of arcade-style games, pornographic JPGs, and applications they'll never use onto their hard disks. As Ozone Pilot acutely observes:
[BELONG] is the only word you will need to know. Warez d00dz want to belong. They have been shunned by everyone, and thus turn to cyberspace for acceptance. That is why they always start groups like TGW, FLT, USA and the like. Structure makes them happy. [...] Warez d00dz will never have a handle like "Pink Daisy" because warez d00dz are insecure. Only someone who is very secure with a good dose of self-esteem can stand up to the cries of fag and girlie-man. More likely you will find warez d00dz with handles like: Doctor Death, Deranged Lunatic, Hellraiser, Mad Prince, Dreamdevil, The Unknown, Renegade Chemist, Terminator, and Twin Turbo. They like to sound badass when they can hide behind their terminals. More likely, if you were given a sample of 100 people, the person whose handle is Hellraiser is the last person you'd associate with the name.
The contrast with Internet hackers is stark and instructive. See cracker, wannabee, handle, elite, courier, leech; compare weenie, spod.
Node:warez kiddies, Next:warlording, Previous:warez d00dz, Up:= W =
warez kiddies n.
Even more derogatory way of referring to warez d00dz; refers to the fact that most warez d00dz are around the age of puberty. Compare script kiddies.
Node:warlording, Next:warm boot, Previous:warez kiddies, Up:= W =
warlording v.
[from the Usenet group alt.fan.warlord] The act of excoriating a bloated, ugly, or derivative sig block. Common grounds for warlording include the presence of a signature rendered in a BUAF, over-used or cliched sig quotes, ugly ASCII art, or simply excessive size. The original `Warlord' was a B1FF-like newbie c.1991 who featured in his sig a particularly large and obnoxious ASCII graphic resembling the sword of Conan the Barbarian in the 1981 John Milius movie; the group name alt.fan.warlord was sarcasm, and the characteristic mode of warlording is devastatingly sarcastic praise.
Node:warm boot, Next:wart, Previous:warlording, Up:= W =
warm boot n.
See boot.
Node:wart, Next:washing machine, Previous:warm boot, Up:= W =
wart n.
A small, crocky feature that sticks out of an otherwise clean design. Something conspicuous for localized ugliness, especially a special-case exception to a general rule. For example, in some versions of csh(1), single quotes literalize every character inside them except !. In ANSI C, the ?? syntax used for obtaining ASCII characters in a foreign environment is a wart. See also miswart.
Node:washing machine, Next:washing software, Previous:wart, Up:= W =
washing machine n.
1. Old-style 14-inch hard disks in floor-standing cabinets. So called because of the size of the cabinet and the `top-loading' access to the media packs -- and, of course, they were always set on `spin cycle'. The washing-machine idiom transcends language barriers; it is even used in Russian hacker jargon. See also walking drives. The thick channel cables connecting these were called `bit hoses' (see hose, sense 3). 2. [CMU] A machine used exclusively for washing software. CMU has clusters of these.
Node:washing software, Next:water MIPS, Previous:washing machine, Up:= W =
washing software n.
The process of recompiling a software distribution (used more often when the recompilation is occuring from scratch) to pick up and merge together all of the various changes that have been made to the source.
Node:water MIPS, Next:wave a dead chicken, Previous:washing software, Up:= W =
water MIPS n.
(see MIPS, sense 2) Large, water-cooled machines of either today's ECL-supercomputer flavor or yesterday's traditional mainframe type.
Node:wave a dead chicken, Next:weasel, Previous:water MIPS, Up:= W =
wave a dead chicken v.
To perform a ritual in the direction of crashed software or hardware that one believes to be futile but is nevertheless necessary so that others are satisfied that an appropriate degree of effort has been expended. "I'll wave a dead chicken over the source code, but I really think we've run into an OS bug." Compare voodoo programming, rain dance; see also casting the runes.
Node:weasel, Next:web pointer, Previous:wave a dead chicken, Up:= W =
weasel n.
[Cambridge] A naive user, one who deliberately or accidentally does things that are stupid or ill-advised. Roughly synonymous with loser.
Node:web pointer, Next:web toaster, Previous:weasel, Up:= W =
web pointer n.
A World Wide Web URL. See also hotlink, which has slightly different connotations.
Node:web toaster, Next:webify, Previous:web pointer, Up:= W =
web toaster n.
A small specialized computer, shipped with no monitor or keyboard or any other external peripherals, pre-configured to be controlled through an Ethernet port and function as a WWW server. Products of this kind (for example the Cobalt Qube) are often about the size of a toaster. See toaster; compare video toaster.
Node:webify, Next:webmaster, Previous:web toaster, Up:= W =
webify n.
To put a piece of (possibly already existing) material on the WWW. Frequently used for papers ("Why don't you webify all your publications?") or for demos ("They webified their 6.866 final project"). This term seems to have been (rather logically) independently invented multiple times in the early 1990s.
Node:webmaster, Next:web ring, Previous:webify, Up:= W =
webmaster n.
[WWW: from postmaster] The person at a site providing World Wide Web information who is responsible for maintaining the public pages and keeping the Web server running and properly configured.
Node:web ring, Next:wedged, Previous:webmaster, Up:= W =
web ring n.
Two or more web sites connected by prominent links between sites sharing a common interest or theme. Usually such cliques have the topology of a ring, in order to make it easy for visitors to navigate through all of them.
Node:wedged, Next:wedgie, Previous:web ring, Up:= W =
wedged adj.
1. To be stuck, incapable of proceeding without help. This is different from having crashed. If the system has crashed, it has become totally non-functioning. If the system is wedged, it is trying to do something but cannot make progress; it may be capable of doing a few things, but not be fully operational. For example, a process may become wedged if it deadlocks with another (but not all instances of wedging are deadlocks). See also gronk, locked up, hosed, hung (wedged is more severe than hung). 2. Often refers to humans suffering misconceptions. "He's totally wedged -- he's convinced that he can levitate through meditation." 3. [Unix] Specifically used to describe the state of a TTY left in a losing state by abort of a screen-oriented program or one that has messed with the line discipline in some obscure way.
There is some dispute over the origin of this term. It is usually thought to derive from a common description of recto-cranial inversion; however, it may actually have originated with older `hot-press' printing technology in which physical type elements were locked into type frames with wedges driven in by mallets. Once this had been done, no changes in the typesetting for that page could be made.
Node:wedgie, Next:wedgitude, Previous:wedged, Up:= W =
wedgie n.
[Fairchild] A bug. Prob. related to wedged.
Node:wedgitude, Next:weeble, Previous:wedgie, Up:= W =
wedgitude /wedj'i-t[y]ood/ n.
The quality or state of being wedged.
Node:weeble, Next:weeds, Previous:wedgitude, Up:= W =
weeble /weeb'l/ interj.
[Cambridge] Used to denote frustration, usually at amazing stupidity. "I stuck the disk in upside down." "Weeble...." Compare gurfle.
Node:weeds, Next:weenie, Previous:weeble, Up:= W =
weeds n.
1. Refers to development projects or algorithms that have no possible relevance or practical application. Comes from `off in the weeds'. Used in phrases like "lexical analysis for microcode is serious weeds...." 2. At CDC/ETA before its demise, the phrase `go off in the weeds' was equivalent to IBM's branch to Fishkill and mainstream hackerdom's jump off into never-never land.
Node:weenie, Next:Weenix, Previous:weeds, Up:= W =
weenie n.
1. [on BBSes] Any of a species of luser resembling a less amusing version of B1FF that infests many BBS systems. The typical weenie is a teenage boy with poor social skills travelling under a grandiose handle derived from fantasy or heavy-metal rock lyrics. Among sysops, `the weenie problem' refers to the marginally literate and profanity-laden flamage weenies tend to spew all over a newly-discovered BBS. Compare spod, computer geek, terminal junkie, warez d00dz. 2. [Among hackers] When used with a qualifier (for example, as in Unix weenie, VMS weenie, IBM weenie) this can be either an insult or a term of praise, depending on context, tone of voice, and whether or not it is applied by a person who considers him or herself to be the same sort of weenie. Implies that the weenie has put a major investment of time, effort, and concentration into the area indicated; whether this is good or bad depends on the hearer's judgment of how the speaker feels about that area. See also bigot. 3. The semicolon character, ; (ASCII 0111011).
Node:Weenix, Next:well-behaved, Previous:weenie, Up:= W =
Weenix /wee'niks/ n.
1. [ITS] A derogatory term for Unix, derived from Unix weenie. According to one noted ex-ITSer, it is "the operating system preferred by Unix Weenies: typified by poor modularity, poor reliability, hard file deletion, no file version numbers, case sensitivity everywhere, and users who believe that these are all advantages". (Some ITS fans behave as though they believe Unix stole a future that rightfully belonged to them. See ITS, sense 2.) 2. [Brown University] A Unix-like OS developed for tutorial purposes at Brown University. See http://www.cs.brown.edu/courses/cs167/weenix.html. Named independently of the ITS usage.
Node:well-behaved, Next:well-connected, Previous:Weenix, Up:= W =
well-behaved adj.
1. [primarily MS-DOS] Said of software conforming to system interface guidelines and standards. Well-behaved software uses the operating system to do chores such as keyboard input, allocating memory and drawing graphics. Oppose ill-behaved. 2. Software that does its job quietly and without counterintuitive effects. Esp. said of software having an interface spec sufficiently simple and well-defined that it can be used as a tool by other software. See cat. 3. Said of an algorithm that doesn't crash or blow up, even when given pathological input. Implies that the stability of the algorithm is intrinsic, which makes this somewhat different from bulletproof.
Node:well-connected, Next:wetware, Previous:well-behaved, Up:= W =
well-connected adj.
Said of a computer installation, asserts that it has reliable email links with the network and/or that it relays a large fraction of available Usenet newsgroups. `Well-known' can be almost synonymous, but also implies that the site's name is familiar to many (due perhaps to an archive service or active Usenet users).
Node:wetware, Next:whack, Previous:well-connected, Up:= W =
wetware /wet'weir/ n.
[prob. from the novels of Rudy Rucker] 1. The human nervous system, as opposed to computer hardware or software. "Wetware has 7 plus or minus 2 temporary registers." 2. Human beings (programmers, operators, administrators) attached to a computer system, as opposed to the system's hardware or software. See liveware, meatware.
Node:whack, Next:whack-a-mole, Previous:wetware, Up:= W =
whack v.
According to arch-hacker James Gosling (designer of NeWS, GOSMACS and Java), to "...modify a program with no idea whatsoever how it works." (See whacker.) It is actually possible to do this in nontrivial circumstances if the change is small and well-defined and you are very good at glarking things from context. As a trivial example, it is relatively easy to change all stderr writes to stdout writes in a piece of C filter code which remains otherwise mysterious.
Node:whack-a-mole, Next:whacker, Previous:whack, Up:= W =
whack-a-mole n.
[from the carnival game which involves quickly and repeatedly hitting the heads of mechanical moles with a mallet as they pop up from their holes.] 1. The practice of repeatedly causing spammers' throwaway accounts and drop boxes to be terminated. 2. After sense 1 became established in the mid-1990s the term passed into more generalized use, and now is commonly found in such combinations as `whack-a-mole windows'; the obnoxious pop-ip advertisement windows spawned in flocks when you surg to sites like Geocities or Tripod.
Node:whacker, Next:whales, Previous:whack-a-mole, Up:= W =
whacker n.
[University of Maryland: from hacker] 1. A person, similar to a hacker, who enjoys exploring the details of programmable systems and how to stretch their capabilities. Whereas a hacker tends to produce great hacks, a whacker only ends up whacking the system or program in question. Whackers are often quite egotistical and eager to claim wizard status, regardless of the views of their peers. 2. A person who is good at programming quickly, though rather poorly and ineptly.
Node:whales, Next:whalesong, Previous:whacker, Up:= W =
whales n.
See like kicking dead whales down the beach.
Node:whalesong, Next:What's a spline?, Previous:whales, Up:= W =
whalesong n.
The peculiar clicking and whooshing sounds made by a PEP modem such as the Telebit Trailblazer as it tries to synchronize with another PEP modem for their special high-speed mode. This sound isn't anything like the normal two-tone handshake between conventional V-series modems and is instantly recognizable to anyone who has heard it more than once. It sounds, in fact, very much like whale songs. This noise is also called "the moose call" or "moose tones".
Node:What's a spline?, Next:wheel, Previous:whalesong, Up:= W =
What's a spline?
[XEROX PARC] This phrase expands to: "You have just used a term that I've heard for a year and a half, and I feel I should know, but don't. My curiosity has finally overcome my guilt." The PARC lexicon adds "Moral: don't hesitate to ask questions, even if they seem obvious."
Node:wheel, Next:wheel bit, Previous:What's a spline?, Up:= W =
wheel n.
[from slang `big wheel' for a powerful person] A person who has an active wheel bit. "We need to find a wheel to unwedge the hung tape drives." (See wedged, sense 1.) The traditional name of security group zero in BSD (to which the major system-internal users like root belong) is `wheel'. Some vendors have expanded on this usage, modifying Unix so that only members of group `wheel' can go root.
Node:wheel bit, Next:wheel of reincarnation, Previous:wheel, Up:= W =
wheel bit n.
A privilege bit that allows the possessor to perform some restricted operation on a timesharing system, such as read or write any file on the system regardless of protections, change or look at any address in the running monitor, crash or reload the system, and kill or create jobs and user accounts. The term was invented on the TENEX operating system, and carried over to TOPS-20, XEROX-IFS, and others. The state of being in a privileged logon is sometimes called `wheel mode'. This term entered the Unix culture from TWENEX in the mid-1980s and has been gaining popularity there (esp. at university sites). See also root.
Node:wheel of reincarnation, Next:wheel wars, Previous:wheel bit, Up:= W =
wheel of reincarnation
[coined in a paper by T. H. Myer and I.E. Sutherland "On the Design of Display Processors", Comm. ACM, Vol. 11, no. 6, June 1968)] Term used to refer to a well-known effect whereby function in a computing system family is migrated out to special-purpose peripheral hardware for speed, then the peripheral evolves toward more computing power as it does its job, then somebody notices that it is inefficient to support two asymmetrical processors in the architecture and folds the function back into the main CPU, at which point the cycle begins again.
Several iterations of this cycle have been observed in graphics-processor design, and at least one or two in communications and floating-point processors. Also known as `the Wheel of Life', `the Wheel of Samsara', and other variations of the basic Hindu/Buddhist theological idea. See also blitter, bit bang.
Node:wheel wars, Next:White Book, Previous:wheel of reincarnation, Up:= W =
wheel wars n.
[Stanford University] A period in larval stage during which student hackers hassle each other by attempting to log each other out of the system, delete each other's files, and otherwise wreak havoc, usually at the expense of the lesser users.
Node:White Book, Next:whitelist, Previous:wheel wars, Up:= W =
White Book n.
1. Syn. K&R. 2. Adobe's fourth book in the PostScript series, describing the previously-secret format of Type 1 fonts; "Adobe Type 1 Font Format, version 1.1", (Addison-Wesley, 1990, ISBN 0-201-57044-0). See also Red Book, Green Book, Blue Book.
Node:whitelist, Next:whizzy, Previous:White Book, Up:= W =
whitelist n.
The opposite of a blacklist. That is, instead of being an explicit list of people who are banned, it's an explicit list of people who are to be admitted. Hackers use this especially of lists of email addresses that are explicitly enabled to get past strict anti-spam filters.
Node:whizzy, Next:wibble, Previous:whitelist, Up:= W =
whizzy adj.
(alt. `wizzy') [Sun] Describes a cuspy program; one that is feature-rich and well presented.
Node:wibble, Next:WIBNI, Previous:whizzy, Up:= W =
wibble
[UK, perh. originally from the first "Roger Irrelevant" strip in "VIZ" comics, spread via "Your Sinclair magazine in the 1980s and early 1990s"] 1. n.,v. Commonly used to describe chatter, content-free remarks or other essentially meaningless contributions to threads in newsgroups. "Oh, rspence is wibbling again". 2. [UK IRC] An explicit on-line no-op equivalent to humma. 3. One of the preferred metasyntactic variables in the UK, forming a series with wobble, wubble, and flob (attributed to the hilarious historical comedy "Blackadder"). 4. A pronounciation of the letters "www", as seen in URLs; i.e., www.foo.com may be pronounced "wibble dot foo dot com" (compare dub dub dub).
The ancestral sense of this word is reported to have been "My brain is packing it in now. I give up. Tilt! Tilt! Tilt!"
Node:WIBNI, Next:widget, Previous:wibble, Up:= W =
WIBNI // n.
[Bell Labs: Wouldn't It Be Nice If] What most requirements documents and specifications consist entirely of. Compare IWBNI.
Node:widget, Next:wiggles, Previous:WIBNI, Up:= W =
widget n.
1. A meta-thing. Used to stand for a real object in didactic examples (especially database tutorials). Legend has it that the original widgets were holders for buggy whips. "But suppose the parts list for a widget has 52 entries...." 2. [poss. evoking `window gadget'] A user interface object in X graphical user interfaces.
Node:wiggles, Next:WIMP environment, Previous:widget, Up:= W =
wiggles n.
[scientific computation] In solving partial differential equations by finite difference and similar methods, wiggles are sawtooth (up-down-up-down) oscillations at the shortest wavelength representable on the grid. If an algorithm is unstable, this is often the most unstable waveform, so it grows to dominate the solution. Alternatively, stable (though inaccurate) wiggles can be generated near a discontinuity by a Gibbs phenomenon.
Node:WIMP environment, Next:win, Previous:wiggles, Up:= W =
WIMP environment n.
[acronym: `Window, Icon, Menu, Pointing device (or Pull-down menu)'] A graphical-user-interface environment such as X or the Macintosh interface, esp. as described by a hacker who prefers command-line interfaces for their superior flexibility and extensibility. However, it is also used without negative connotations; one must pay attention to voice tone and other signals to interpret correctly. See menuitis, user-obsequious.
Node:win, Next:win big, Previous:WIMP environment, Up:= W =
win
[MIT; now common everywhere] 1. vi. To succeed. A program wins if no unexpected conditions arise, or (especially) if it sufficiently robust to take exceptions in stride. 2. n. Success, or a specific instance thereof. A pleasing outcome. "So it turned out I could use a lexer generator instead of hand-coding my own pattern recognizer. What a win!" Emphatic forms: `moby win', `super win', `hyper-win' (often used interjectively as a reply). For some reason `suitable win' is also common at MIT, usually in reference to a satisfactory solution to a problem. Oppose lose; see also big win, which isn't quite just an intensification of `win'.
Node:win big, Next:win win, Previous:win, Up:= W =
win big vi.
To experience serendipity. "I went shopping and won big; there was a 2-for-1 sale." See big win.
Node:win win, Next:Winchester, Previous:win big, Up:= W =
win win excl.
Expresses pleasure at a win.
Node:Winchester, Next:windoid, Previous:win win, Up:= W =
Winchester n.
Informal generic term for sealed-enclosure magnetic-disk drives in which the read-write head planes over the disk surface on an air cushion. There is a legend that the name arose because the original 1973 engineering prototype for what later became the IBM 3340 featured two 30-megabyte volumes; 30-30 became `Winchester' when somebody noticed the similarity to the common term for a famous Winchester rifle (in the latter, the first 30 referred to caliber and the second to the grain weight of the charge). (It is sometimes incorrectly claimed that Winchester was the laboratory in which the technology was developed.)
Node:windoid, Next:window shopping, Previous:Winchester, Up:= W =
windoid n.
In the Macintosh world, a style of window with much less adornment (smaller or missing title bar, zoom box, etc, etc) than a standard window.
Node:window shopping, Next:Windoze, Previous:windoid, Up:= W =
window shopping n.
[US Geological Survey] Among users of WIMP environments like X or the Macintosh, extended experimentation with new window colors, fonts, and icon shapes. This activity can take up hours of what might otherwise have been productive working time. "I spent the afternoon window shopping until I found the coolest shade of green for my active window borders -- now they perfectly match my medium slate blue background." Serious window shoppers will spend their days with bitmap editors, creating new and different icons and background patterns for all to see. Also: `window dressing', the act of applying new fonts, colors, etc. See fritterware, compare macdink.
Node:Windoze, Next:winged comments, Previous:window shopping, Up:= W =
Windoze /win'dohz/ n.
See Microsloth Windows.
Node:winged comments, Next:winkey, Previous:Windoze, Up:= W =
winged comments n.
Comments set on the same line as code, as opposed to boxed comments. In C, for example:
d = sqrt(x*x + y*y); /* distance from origin */
Generally these refer only to the action(s) taken on that line.
Node:winkey, Next:winnage, Previous:winged comments, Up:= W =
winkey n.
(alt. `winkey face') See emoticon.
Node:winnage, Next:winner, Previous:winkey, Up:= W =
winnage /win'*j/ n.
The situation when a lossage is corrected, or when something is winning.
Node:winner, Next:winnitude, Previous:winnage, Up:= W =
winner
1. n. An unexpectedly good situation, program, programmer, or person. 2. `real winner': Often sarcastic, but also used as high praise (see also the note under user). "He's a real winner -- never reports a bug till he can duplicate it and send in an example."
Node:winnitude, Next:Wintel, Previous:winner, Up:= W =
winnitude /win'*-t[y]ood/ n.
The quality of winning (as opposed to winnage, which is the result of winning). "Guess what? They tweaked the microcode and now the LISP interpreter runs twice as fast as it used to." "That's really great! Boy, what winnitude!" "Yup. I'll probably get a half-hour's winnage on the next run of my program." Perhaps curiously, the obvious antonym `lossitude' is rare.
Node:Wintel, Next:wired, Previous:winnitude, Up:= W =
Wintel n.
Microsoft Windows plus Intel - the tacit alliance that dominated desktop computing in the 1990s. Now (1999) possibly on the verge of breaking up under pressure from Linux; see Lintel.
Node:wired, Next:wirehead, Previous:Wintel, Up:= W =
wired n.
See hardwired.
Node:wirehead, Next:wirewater, Previous:wired, Up:= W =
wirehead /wi:r'hed/ n.
[prob. from SF slang for an electrical-brain-stimulation addict] 1. A hardware hacker, especially one who concentrates on communications hardware. 2. An expert in local-area networks. A wirehead can be a network software wizard too, but will always have the ability to deal with network hardware, down to the smallest component. Wireheads are known for their ability to lash up an Ethernet terminator from spare resistors, for example.
Node:wirewater, Next:wish list, Previous:wirehead, Up:= W =
wirewater n.
Syn. programming fluid. This melds the mainstream slang adjective `wired' (stimulated, up, hyperactive) with `firewater'; however, it refers to caffeinacious rather than alcoholic beverages.
Node:wish list, Next:within delta of, Previous:wirewater, Up:= W =
wish list n.
A list of desired features or bug fixes that probably won't get done for a long time, usually because the person responsible for the code is too busy or can't think of a clean way to do it. "OK, I'll add automatic filename completion to the wish list for the new interface." Compare tick-list features.
Node:within delta of, Next:within epsilon of, Previous:wish list, Up:= W =
within delta of adj.
See delta.
Node:within epsilon of, Next:wizard, Previous:within delta of, Up:= W =
within epsilon of adj.
See epsilon.
Node:wizard, Next:Wizard Book, Previous:within epsilon of, Up:= W =
wizard n.
1. Transitively, a person who knows how a complex piece of software or hardware works (that is, who groks it); esp. someone who can find and fix bugs quickly in an emergency. Someone is a hacker if he or she has general hacking ability, but is a wizard with respect to something only if he or she has specific detailed knowledge of that thing. A good hacker could become a wizard for something given the time to study it. 2. The term `wizard' is also used intransitively of someone who has extremely high-level hacking or problem-solving ability. 3. A person who is permitted to do things forbidden to ordinary people; one who has wheel privileges on a system. 4. A Unix expert, esp. a Unix systems programmer. This usage is well enough established that `Unix Wizard' is a recognized job title at some corporations and to most headhunters. See guru, lord high fixer. See also deep magic, heavy wizardry, incantation, magic, mutter, rain dance, voodoo programming, wave a dead chicken.
Node:Wizard Book, Next:wizard hat, Previous:wizard, Up:= W =
Wizard Book n.
"Structure and Interpretation of Computer Programs" (Hal Abelson, Jerry Sussman and Julie Sussman; MIT Press, 1984, 1996; ISBN 0-262-01153-0), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book.
Node:wizard hat, Next:wizard mode, Previous:Wizard Book, Up:= W =
wizard hat n.
[also, after Terry Pratchett, `pointy hat'] Notional headgear worn by whoever is the wizard in a particular context. The implication is that it's a transferable role. "Talk to Alice, she's wearing the TCP/IP wizard hat while Bob is on vacation." This metaphor is sufficiently live that one may actually see hackers miming the act of putting on, taking off, or transferring a phantom hat. Compare patch pumpkin.
Node:wizard mode, Next:wizardly, Previous:wizard hat, Up:= W =
wizard mode n.
[from rogue] A special access mode of a program or system, usually passworded, that permits some users godlike privileges. Generally not used for operating systems themselves (`root mode' or `wheel mode' would be used instead). This term is often used with respect to games that have editable state.
Node:wizardly, Next:wok-on-the-wall, Previous:wizard mode, Up:= W =
wizardly adj.
Pertaining to wizards. A wizardly feature is one that only a wizard could understand or use properly.
Node:wok-on-the-wall, Next:womb box, Previous:wizardly, Up:= W =
wok-on-the-wall n.
A small microwave dish antenna used for cross-campus private network circuits, from the obvious resemblance between a microwave dish and the Chinese culinary utensil.
Node:womb box, Next:WOMBAT, Previous:wok-on-the-wall, Up:= W =
womb box n.
1. [TMRC] Storage space for equipment. 2. [proposed] A variety of hard-shell equipment case with heavy interior padding and/or shaped carrier cutouts in a foam-rubber matrix; mundanely called a `flight case'. Used for delicate test equipment, electronics, and musical instruments.
Node:WOMBAT, Next:womble, Previous:womb box, Up:= W =
WOMBAT /wom'bat/ adj.
[acronym: Waste Of Money, Brains, And Time] Applied to problems which are both profoundly uninteresting in themselves and unlikely to benefit anyone interesting even if solved. Often used in fanciful constructions such as `wrestling with a wombat'. See also crawling horror, SMOP. Also note the rather different usage as a metasyntactic variable in Commonwealth Hackish.
Users of the PDP-11 database program DATATRIEVE adopted the wombat as their notional mascot; the program's help file responded to "HELP WOMBAT" with factual information about Real World wombats.
Node:womble, Next:wonky, Previous:WOMBAT, Up:= W =
womble n.
[Unisys UK: from British animated characters] A user who has great difficulty in communicating their requirements and/or in using the resulting software. Extreme case of luser. An especially senior or high-ranking womble is referred to as Great-Uncle Bulgaria.
Node:wonky, Next:woofer, Previous:womble, Up:= W =
wonky /wong'kee/ adj.
[from Australian slang] Yet another approximate synonym for broken. Specifically connotes a malfunction that produces behavior seen as crazy, humorous, or amusingly perverse. "That was the day the printer's font logic went wonky and everybody's listings came out in Tengwar." Also in `wonked out'. See funky, demented, bozotic.
Node:woofer, Next:workaround, Previous:wonky, Up:= W =
woofer n.
[University of Waterloo] Some varieties of wide paper for printers have a perforation 8.5 inches from the left margin that allows the excess on the right-hand side to be torn off when the print format is 80 columns or less wide. The right-hand excess may be called `woofer'. This term (like tweeter) has been in use at Waterloo since 1972, but is elsewhere unknown. In audio jargon, the word refers to the bass speaker(s) on a hi-fi.
Node:workaround, Next:working as designed, Previous:woofer, Up:= W =
workaround n.
1. A temporary kluge used to bypass, mask, or otherwise avoid a bug or misfeature in some system. Theoretically, workarounds are always replaced by fixes; in practice, customers often find themselves living with workarounds for long periods of time. "The code died on NUL characters in the input, so I fixed it to interpret them as spaces." "That's not a fix, that's a workaround!" 2. A procedure to be employed by the user in order to do what some currently non-working feature should do. Hypothetical example: "Using META-F7 crashes the 4.43 build of Weemax, but as a workaround you can type CTRL-R, then SHIFT-F5, and delete the remaining cruft by hand."
Node:working as designed, Next:worm, Previous:workaround, Up:= W =
working as designed adj.
[IBM] 1. In conformance to a wrong or inappropriate specification; useful, but misdesigned. 2. Frequently used as a sardonic comment on a program's utility. 3. Unfortunately also used as a bogus reason for not accepting a criticism or suggestion. At IBM, this sense is used in official documents! See BAD.
Node:worm, Next:wormhole, Previous:working as designed, Up:= W =
worm n.
[from `tapeworm' in John Brunner's novel "The Shockwave Rider", via XEROX PARC] A program that propagates itself over a network, reproducing itself as it goes. Compare virus. Nowadays the term has negative connotations, as it is assumed that only crackers write worms. Perhaps the best-known example was Robert T. Morris's Great Worm of 1988, a `benign' one that got out of control and hogged hundreds of Suns and VAXen across the U.S. See also cracker, RTM, Trojan horse, ice.
Node:wormhole, Next:wound around the axle, Previous:worm, Up:= W =
wormhole /werm'hohl/ n.
[from the `wormhole' singularities hypothesized in some versions of General Relativity theory] 1. [n.,obs.] A location in a monitor which contains the address of a routine, with the specific intent of making it easy to substitute a different routine. This term is now obsolescent; modern operating systems use clusters of wormholes extensively (for modularization of I/O handling in particular, as in the Unix device-driver organization) but the preferred techspeak for these clusters is `device tables', `jump tables' or `capability tables'. 2. [Amateur Packet Radio] A network path using a commercial satellite link to join two or more amateur VHF networks. So called because traffic routed through a wormhole leaves and re-enters the amateur network over great distances with usually little clue in the message routing header as to how it got from one relay to the other. Compare gopher hole (sense 2).
Node:wound around the axle, Next:wrap around, Previous:wormhole, Up:= W =
wound around the axle adj.
In an infinite loop. Often used by older computer types.
Node:wrap around, Next:write-only code, Previous:wound around the axle, Up:= W =
wrap around vi.
(also n. `wraparound' and v. shorthand `wrap') 1. [techspeak] The action of a counter that starts over at zero or at `minus infinity' (see infinity) after its maximum value has been reached, and continues incrementing, either because it is programmed to do so or because of an overflow (as when a car's odometer starts over at 0). 2. To change phase gradually and continuously by maintaining a steady wake-sleep cycle somewhat longer than 24 hours, e.g., living six long (28-hour) days in a week (or, equivalently, sleeping at the rate of 10 microhertz). This sense is also called phase-wrapping.
Node:write-only code, Next:write-only language, Previous:wrap around, Up:= W =
write-only code n.
[a play on `read-only memory'] Code so arcane, complex, or ill-structured that it cannot be modified or even comprehended by anyone but its author, and possibly not even by him/her. A Bad Thing.
Node:write-only language, Next:write-only memory, Previous:write-only code, Up:= W =
write-only language n.
A language with syntax (or semantics) sufficiently dense and bizarre that any routine of significant size is automatically write-only code. A sobriquet applied occasionally to C and often to APL, though INTERCAL and TECO certainly deserve it more. See also Befunge.
Node:write-only memory, Next:Wrong Thing, Previous:write-only language, Up:= W =
write-only memory n.
The obvious antonym to `read-only memory'. Out of frustration with the long and seemingly useless chain of approvals required of component specifications, during which no actual checking seemed to occur, an engineer at Signetics once created a specification for a write-only memory and included it with a bunch of other specifications to be approved. This inclusion came to the attention of Signetics management only when regular customers started calling and asking for pricing information. Signetics published a corrected edition of the data book and requested the return of the `erroneous' ones. Later, in 1972, Signetics bought a double-page spread in "Electronics" magazine's April issue and used the spec as an April Fools' Day joke. Instead of the more conventional characteristic curves, the 25120 "fully encoded, 9046 x N, Random Access, write-only-memory" data sheet included diagrams of "bit capacity vs. Temp.", "Iff vs. Vff", "Number of pins remaining vs. number of socket insertions", and "AQL vs. selling price". The 25120 required a 6.3 VAC VFF supply, a +10V VCC, and VDD of 0V, +/- 2%.
Node:Wrong Thing, Next:wugga wugga, Previous:write-only memory, Up:= W =
Wrong Thing n.
A design, action, or decision that is clearly incorrect or inappropriate. Often capitalized; always emphasized in speech as if capitalized. The opposite of the Right Thing; more generally, anything that is not the Right Thing. In cases where `the good is the enemy of the best', the merely good -- although good -- is nevertheless the Wrong Thing. "In C, the default is for module-level declarations to be visible everywhere, rather than just within the module. This is clearly the Wrong Thing."
Node:wugga wugga, Next:wumpus, Previous:Wrong Thing, Up:= W =
wugga wugga /wuh'g* wuh'g*/ n.
Imaginary sound that a computer program makes as it labors with a tedious or difficult task.grind (sense 4).
Node:wumpus, Next:WYSIAYG, Previous:wugga wugga, Up:= W =
wumpus /wuhm'p*s/ n.
The central monster (and, in many versions, the name) of a famous family of very early computer games called "Hunt The Wumpus'. The original was invented in 1970 (several years before ADVENT) by Gregory Yob. The wumpus lived somewhere in a cave with the topology of an dodecahedron's edge/vertex graph (later versions supported other topologies, including an icosahedron and Möbius strip). The player started somewhere at random in the cave with five `crooked arrows'; these could be shot through up to three connected rooms, and would kill the wumpus on a hit (later versions introduced the wounded wumpus, which got very angry). Unfortunately for players, the movement necessary to map the maze was made hazardous not merely by the wumpus (which would eat you if you stepped on him) but also by bottomless pits and colonies of super bats that would pick you up and drop you at a random location (later versions added `anaerobic termites' that ate arrows, bat migrations, and earthquakes that randomly changed pit locations).
This game appears to have been the first to use a non-random graph-structured map (as opposed to a rectangular grid like the even older Star Trek games). In this respect, as in the dungeon-like setting and its terse, amusing messages, it prefigured ADVENT and Zork and was directly ancestral to the latter (Zork acknowledged this heritage by including a super-bat colony). A C emulation of the original Basic game is available at the Retrocomputing Museum, http://www.ccil.org/retro.
Node:WYSIAYG, Next:WYSIWYG, Previous:wumpus, Up:= W =
WYSIAYG /wiz'ee-ayg/ adj.
Describes a user interface under which "What You See Is All You Get"; an unhappy variant of WYSIWYG. Visual, `point-and-shoot'-style interfaces tend to have easy initial learning curves, but also to lack depth; they often frustrate advanced users who would be better served by a command-style interface. When this happens, the frustrated user has a WYSIAYG problem. This term is most often used of editors, word processors, and document formatting programs. WYSIWYG `desktop publishing' programs, for example, are a clear win for creating small documents with lots of fonts and graphics in them, especially things like newsletters and presentation slides. When typesetting book-length manuscripts, on the other hand, scale changes the nature of the task; one quickly runs into WYSIAYG limitations, and the increased power and flexibility of a command-driven formatter like TeX or Unix's troff becomes not just desirable but a necessity. Compare YAFIYGI.
Node:WYSIWYG, Next:X, Previous:WYSIAYG, Up:= W =
WYSIWYG /wiz'ee-wig/ adj.
[Traced to Flip Wilson's "Geraldine" character c.1970] Describes a user interface under which "What You See Is What You Get", as opposed to one that uses more-or-less obscure commands that do not result in immediate visual feedback. True WYSIWYG in environments supporting multiple fonts or graphics is a a rarely-attained ideal; there are variants of this term to express real-world manifestations including WYSIAWYG (What You See Is Almost What You Get) and WYSIMOLWYG (What You See Is More or Less What You Get). All these can be mildly derogatory, as they are often used to refer to dumbed-down user-friendly interfaces targeted at non-programmers; a hacker has no fear of obscure commands (compare WYSIAYG). On the other hand, EMACS was one of the very first WYSIWYG editors, replacing (actually, at first overlaying) the extremely obscure, command-based TECO. See also WIMP environment. [Oddly enough, WYSIWYG has already made it into the OED, in lower case yet. --ESR]
Node:= X =, Next:= Y =, Previous:= W =, Up:The Jargon Lexicon
= X =
X:
XEROX PARC:
XOFF:
XON:
xor:
xref:
XXX:
xyzzy:
Node:X, Next:XEROX PARC, Previous:WYSIWYG, Up:= X =
X /X/ n.
1. Used in various speech and writing contexts (also in lowercase) in roughly its algebraic sense of `unknown within a set defined by context' (compare N). Thus, the abbreviation 680x0 stands for 68000, 68010, 68020, 68030, or 68040, and 80x86 stands for 80186, 80286, 80386, 80486, 80586 or 80686 (note that a Unix hacker might write these as 680[0-6]0 and 80[1-6]86 or 680?0 and 80?86 respectively; see glob). 2. [after the name of an earlier window system called `W'] An over-sized, over-featured, over-engineered and incredibly over-complicated window system developed at MIT and widely used on Unix systems.
Node:XEROX PARC, Next:XOFF, Previous:X, Up:= X =
XEROX PARC /zee'roks park'/ n.
The famed Palo Alto Research Center. For more than a decade, from the early 1970s into the mid-1980s, PARC yielded an astonishing volume of groundbreaking hardware and software innovations. The modern mice, windows, and icons style of software interface was invented there. So was the laser printer and the local-area network; and PARC's series of D machines anticipated the powerful personal computers of the 1980s by a decade. Sadly, the prophets at PARC were without honor in their own company, so much so that it became a standard joke to describe PARC as a place that specialized in developing brilliant ideas for everyone else.
The stunning shortsightedness and obtusity of XEROX's top-level suits has been well anatomized in "Fumbling The Future: How XEROX Invented, Then Ignored, the First Personal Computer" by Douglas K. Smith and Robert C. Alexander (William Morrow & Co., 1988, ISBN 0-688-09511-9).
Node:XOFF, Next:XON, Previous:XEROX PARC, Up:= X =
XOFF /X-of/ n.
Syn. control-S.
Node:XON, Next:xor, Previous:XOFF, Up:= X =
XON /X-on/ n.
Syn. control-Q.
Node:xor, Next:xref, Previous:XON, Up:= X =
xor /X'or/, /kzor/ conj.
Exclusive or. `A xor B' means `A or B, but not both'. "I want to get cherry pie xor a banana split." This derives from the technical use of the term as a function on truth-values that is true if exactly one of its two arguments is true.
Node:xref, Next:XXX, Previous:xor, Up:= X =
xref /X'ref/ v.,n.
Hackish standard abbreviation for `cross-reference'.
Node:XXX, Next:xyzzy, Previous:xref, Up:= X =
XXX /X-X-X/ n.
A marker that attention is needed. Commonly used in program comments to indicate areas that are kluged up or need to be. Some hackers liken `XXX' to the notional heavy-porn movie rating. Compare FIXME.
Node:xyzzy, Next:YA-, Previous:XXX, Up:= X =
xyzzy /X-Y-Z-Z-Y/, /X-Y-ziz'ee/, /ziz'ee/, or /ik-ziz'ee/ adj.
[from the ADVENT game] The canonical `magic word'. This comes from ADVENT, in which the idea is to explore an underground cave with many rooms and to collect the treasures you find there. If you type `xyzzy' at the appropriate time, you can move instantly between two otherwise distant points. If, therefore, you encounter some bit of magic, you might remark on this quite succinctly by saying simply "Xyzzy!" "Ordinarily you can't look at someone else's screen if he has protected it, but if you type quadruple-bucky-clear the system will let you do it anyway." "Xyzzy!" It's traditional for xyzzy to be an Easter egg in games with text interfaces.
Xyzzy has actually been implemented as an undocumented no-op command on several OSes; in Data General's AOS/VS, for example, it would typically respond "Nothing happens", just as ADVENT did if the magic was invoked at the wrong spot or before a player had performed the action that enabled the word. In more recent 32-bit versions, by the way, AOS/VS responds "Twice as much happens".
Early versions of the popular `minesweeper' game under Microsoft Windows had a cheat mode triggered by the command `xyzzy<enter><right-shift>' that turns the top-left pixel of the screen different colors depending on whether or not the cursor is over a bomb. This feature temporarily diasappeared in Windows 98, but reappeared in Windows 2000.
The following passage from "The Wonderful Wizard of Oz" by L. Frank Baum, suggesting a possible pre-ADVENT origin, has recently come to light:
"Ziz-zy, zuz-zy, zik!" said Dorothy, who was now standing on both feet. This ended the saying of the charm, and they heard a great chattering and flapping of wings, as the band of Winged Monkeys flew up to them.
Node:= Y =, Next:= Z =, Previous:= X =, Up:The Jargon Lexicon
= Y =
YA-:
YABA:
YAFIYGI:
YAUN:
Yellow Book:
yellow card:
yellow wire:
Yet Another:
YHBT:
YKYBHTLW:
YMMV:
You are not expected to understand this:
You know you've been hacking too long when:
Your mileage may vary:
Yow!:
yoyo mode:
Yu-Shiang Whole Fish:
Node:YA-, Next:YABA, Previous:xyzzy, Up:= Y =
YA- abbrev.
[Yet Another] In hackish acronyms this almost invariably expands to Yet Another, following the precedent set by Unix yacc(1) (Yet Another Compiler-Compiler). See YABA.
Node:YABA, Next:YAFIYGI, Previous:YA-, Up:= Y =
YABA /ya'b*/ n.
[Cambridge] Yet Another Bloody Acronym. Whenever some program is being named, someone invariably suggests that it be given a name that is acronymic. The response from those with a trace of originality is to remark ironically that the proposed name would then be `YABA-compatible'. Also used in response to questions like "What is WYSIWYG?" See also TLA.
Node:YAFIYGI, Next:YAUN, Previous:YABA, Up:= Y =
YAFIYGI /yaf'ee-y*-gee/ adj.
[coined in response to WYSIWYG] Describes the command-oriented ed/vi/nroff/TeX style of word processing or other user interface, the opposite of WYSIWYG. Stands for "You asked for it, you got it", because what you actually asked for is often not apparent until long after it is too late to do anything about it. Used to denote perversity ("Real Programmers use YAFIYGI tools...and like it!") or, less often, a necessary tradeoff ("Only a YAFIYGI tool can have full programmable flexibility in its interface.").
This precise sense of "You asked for it, you got it" seems to have first appeared in Ed Post's classic parody "Real Programmers don't use Pascal" (see Real Programmers); the acronym is a more recent invention.
Node:YAUN, Next:Yellow Book, Previous:YAFIYGI, Up:= Y =
YAUN /yawn/ n.
[Acronym for `Yet Another Unix Nerd'] Reported from the San Diego Computer Society (predominantly a microcomputer users' group) as a good-natured punning insult aimed at Unix zealots.
Node:Yellow Book, Next:yellow card, Previous:YAUN, Up:= Y =
Yellow Book n.
The print version of this Jargon File; "The New Hacker's Dictionary" from MIT Press; The book includes essentially all the material the File, plus a Foreword by Guy L. Steele Jr. and a Preface by Eric S. Raymond. Most importantly, the book version is nicely typeset and includes almost all of the infamous Crunchly cartoons by the Great Quux, each attached to an appropriate entry. The first edition (1991, ISBN 0-262-68069-6) corresponded to the Jargon File version 2.9.6. The second edition (1993, ISBN 0-262-68079-3) corresponded to the Jargon File 3.0.0. The third (1996, ISBN 0-262-68092-0) corresponded to 4.0.0.
Node:yellow card, Next:yellow wire, Previous:Yellow Book, Up:= Y =
yellow card n.
See green card.
Node:yellow wire, Next:Yet Another, Previous:yellow card, Up:= Y =
yellow wire n.
[IBM] Repair wires used when connectors (especially ribbon connectors) got broken due to some schlemiel pinching them, or to reconnect cut traces after the FE mistakenly cut one. Compare blue wire, purple wire, red wire.
Node:Yet Another, Next:YHBT, Previous:yellow wire, Up:= Y =
Yet Another adj.
[From Unix's yacc(1), `Yet Another Compiler-Compiler', a LALR parser generator] 1. Of your own work: A humorous allusion often used in titles to acknowledge that the topic is not original, though the content is. As in `Yet Another AI Group' or `Yet Another Simulated Annealing Algorithm'. 2. Of others' work: Describes something of which there are already far too many. See also YA-, YABA, YAUN.
Node:YHBT, Next:YKYBHTLW, Previous:Yet Another, Up:= Y =
YHBT //
[Usenet: very common] Abbreviation: You Have Been Trolled (see troll, sense 1). Especially used in "YHBT. YHL. HAND.", which is widely understood to expand to "You Have Been Trolled. You Have Lost. Have A Nice Day". You are quite likely to see this if you respond incautiously to a flame-provoking post that was obviously floated as sucker bait.
Node:YKYBHTLW, Next:YMMV, Previous:YHBT, Up:= Y =
YKYBHTLW // abbrev.
Abbreviation of `You know you've been hacking too long when...', which became established on the Usenet group alt.folklore.computers during extended discussion of the indicated entry in the Jargon File.
Node:YMMV, Next:You are not expected to understand this, Previous:YKYBHTLW, Up:= Y =
YMMV // cav.
Abbreviation for Your mileage may vary common on Usenet.
Node:You are not expected to understand this, Next:You know you've been hacking too long when, Previous:YMMV, Up:= Y =
You are not expected to understand this [Unix] cav.
The canonical comment describing something magic or too complicated to bother explaining properly. From an infamous comment in the context-switching code of the V6 Unix kernel. Dennis Ritchie has explained this in detail.
Node:You know you've been hacking too long when, Next:Your mileage may vary, Previous:You are not expected to understand this, Up:= Y =
You know you've been hacking too long when
The set-up line for a genre of one-liners told by hackers about themselves. These include the following:
not only do you check your email more often than your paper mail, but you remember your network address faster than your postal one.
your SO kisses you on the neck and the first thing you think is "Uh, oh, priority interrupt."
you go to balance your checkbook and discover that you're doing it in octal.
your computers have a higher street value than your car.
in your universe, `round numbers' are powers of 2, not 10.
more than once, you have woken up recalling a dream in some programming language.
you realize you have never seen half of your best friends.
A list list of these can be found by searching for this phrase on the web.
[An early version of this entry said "All but one of these have been reliably reported as hacker traits (some of them quite often). Even hackers may have trouble spotting the ringer." The ringer was balancing one's checkbook in octal, which I made up out of whole cloth. Although more respondents picked that one out as fiction than any of the others, I also received multiple independent reports of its actually happening, most famously to Grace Hopper while she was working with BINAC in 1949. --ESR]
Node:Your mileage may vary, Next:Yow!, Previous:You know you've been hacking too long when, Up:= Y =
Your mileage may vary cav.
[from the standard disclaimer attached to EPA mileage ratings by American car manufacturers] 1. A ritual warning often found in Unix freeware distributions. Translates roughly as "Hey, I tried to write this portably, but who knows what'll happen on your system?" 2. More generally, a qualifier attached to advice. "I find that sending flowers works well, but your mileage may vary."
Node:Yow!, Next:yoyo mode, Previous:Your mileage may vary, Up:= Y =
Yow! /yow/ interj.
[from "Zippy the Pinhead" comix] A favored hacker expression of humorous surprise or emphasis. "Yow! Check out what happens when you twiddle the foo option on this display hack!" Compare gurfle.
Node:yoyo mode, Next:Yu-Shiang Whole Fish, Previous:Yow!, Up:= Y =
yoyo mode n.
The state in which the system is said to be when it rapidly alternates several times between being up and being down. Interestingly (and perhaps not by coincidence), many hardware vendors give out free yoyos at Usenix exhibits.
Sun Microsystems gave out logoized yoyos at SIGPLAN '88. Tourists staying at one of Atlanta's most respectable hotels were subsequently treated to the sight of 200 of the country's top computer scientists testing yo-yo algorithms in the lobby.
Node:Yu-Shiang Whole Fish, Next:zap, Previous:yoyo mode, Up:= Y =
Yu-Shiang Whole Fish /yoo-shyang hohl fish/ n. obs.
The character gamma (extended SAIL ASCII 0001001), which with a loop in its tail looks like a little fish swimming down the page. The term is actually the name of a Chinese dish in which a fish is cooked whole (not parsed) and covered with Yu-Shiang (or Yu-Hsiang) sauce. Usage: primarily by people on the MIT LISP Machine, which could display this character on the screen. Tends to elicit incredulity from people who hear about it second-hand.
Node:= Z =, Previous:= Y =, Up:The Jargon Lexicon
= Z =
zap:
zapped:
Zawinski's Law:
zbeba:
zen:
zero:
zero-content:
Zero-One-Infinity Rule:
zeroth:
zigamorph:
zip:
zipperhead:
zombie:
zorch:
Zork:
zorkmid:
Node:zap, Next:zapped, Previous:Yu-Shiang Whole Fish, Up:= Z =
zap
1. n. Spiciness. 2. vt. To make food spicy. 3. vt. To make someone `suffer' by making his food spicy. (Most hackers love spicy food. Hot-and-sour soup is considered wimpy unless it makes you wipe your nose for the rest of the meal.) See zapped. 4. vt. To modify, usually to correct; esp. used when the action is performed with a debugger or binary patching tool. Also implies surgical precision. "Zap the debug level to 6 and run it again." In the IBM mainframe world, binary patches are applied to programs or to the OS with a program called `superzap', whose file name is `IMASPZAP' (possibly contrived from I M A SuPerZAP). 5. vt. To erase or reset. 6. To fry a chip with static electricity. "Uh oh -- I think that lightning strike may have zapped the disk controller."
Node:zapped, Next:Zawinski's Law, Previous:zap, Up:= Z =
zapped adj.
Spicy. This term is used to distinguish between food that is hot (in temperature) and food that is spicy-hot. For example, the Chinese appetizer Bon Bon Chicken is a kind of chicken salad that is cold but zapped; by contrast, vanilla wonton soup is hot but not zapped. See also oriental food, laser chicken. See zap, senses 1 and 2.
Node:Zawinski's Law, Next:zbeba, Previous:zapped, Up:= Z =
Zawinski's Law
"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." Coined by Jamie Zawinski (who called it the "Law of Software Envelopment") to express his belief that all truly useful programs experience pressure to evolve into toolkits and application platforms (the mailer thing, he says, is just a side effect of that). It is commonly cited, though with widely varying degrees of accuracy.
Node:zbeba, Next:zen, Previous:Zawinski's Law, Up:= Z =
zbeba n.
[USENET] The word `moron' in rot13. Used to describe newbies who are behaving with especial cluelessness.
Node:zen, Next:zero, Previous:zbeba, Up:= Z =
zen vt.
To figure out something by meditation or by a sudden flash of enlightenment. Originally applied to bugs, but occasionally applied to problems of life in general. "How'd you figure out the buffer allocation problem?" "Oh, I zenned it." Contrast grok, which connotes a time-extended version of zenning a system. Compare hack mode. See also guru.
Node:zero, Next:zero-content, Previous:zen, Up:= Z =
zero vt.
1. To set to 0. Usually said of small pieces of data, such as bits or words (esp. in the construction `zero out'). 2. To erase; to discard all data from. Said of disks and directories, where `zeroing' need not involve actually writing zeroes throughout the area being zeroed. One may speak of something being `logically zeroed' rather than being `physically zeroed'. See scribble.
Node:zero-content, Next:Zero-One-Infinity Rule, Previous:zero, Up:= Z =
zero-content adj.
Syn. content-free.
Node:Zero-One-Infinity Rule, Next:zeroth, Previous:zero-content, Up:= Z =
Zero-One-Infinity Rule prov.
"Allow none of foo, one of foo, or any number of foo." A rule of thumb for software design, which instructs one to not place random limits on the number of instances of a given entity (such as: windows in a window system, letters in an OS's filenames, etc.). Specifically, one should either disallow the entity entirely, allow exactly one instance (an "exception"), or allow as many as the user wants - address space and memory permitting.
The logic behind this rule is that there are often situations where it makes clear sense to allow one of something instead of none. However, if one decides to go further and allow N (for N > 1), then why not N+1? And if N+1, then why not N+2, and so on? Once above 1, there's no excuse not to allow any N; hence, infinity.
Many hackers recall in this connection Isaac Asimov's SF novel "The Gods Themselves" in which a character announces that the number 2 is impossible - if you're going to believe in more than one universe, you might as well believe in an infinite number of them.
Node:zeroth, Next:zigamorph, Previous:Zero-One-Infinity Rule, Up:= Z =
zeroth /zee'rohth/ adj.
First. Among software designers, comes from C's and LISP's 0-based indexing of arrays. Hardware people also tend to start counting at 0 instead of 1; this is natural since, e.g., the 256 states of 8 bits correspond to the binary numbers 0, 1, ..., 255 and the digital devices known as `counters' count in this way.
Hackers and computer scientists often like to call the first chapter of a publication `Chapter 0', especially if it is of an introductory nature (one of the classic instances was in the First Edition of K&R). In recent years this trait has also been observed among many pure mathematicians (who have an independent tradition of numbering from 0). Zero-based numbering tends to reduce fencepost errors, though it cannot eliminate them entirely.
Node:zigamorph, Next:zip, Previous:zeroth, Up:= Z =
zigamorph /zig'*-morf/ n.
1. Hex FF (11111111) when used as a delimiter or fence character. Usage: primarily at IBM shops. 2. [proposed] n. The Unicode non-character U+FFFF (1111111111111111), a character code which is not assigned to any character, and so is usable as end-of-string. (Unicode is a 16-bit character code intended to cover all of the world's writing systems, including Latin, Greek, Cyrillic, Chinese, hiragana, katakana, Devanagari, Thai, Laotian and many other scripts - support for elvish is planned for a future release).
Node:zip, Next:zipperhead, Previous:zigamorph, Up:= Z =
zip vt.
[primarily MS-DOS] To create a compressed archive from a group of files using PKWare's PKZIP or a compatible archiver. Its use is spreading now that portable implementations of the algorithm have been written. Commonly used as follows: "I'll zip it up and send it to you." See tar and feather.
Node:zipperhead, Next:zombie, Previous:zip, Up:= Z =
zipperhead n.
[IBM] A person with a closed mind.
Node:zombie, Next:zorch, Previous:zipperhead, Up:= Z =
zombie n.
[Unix] A process that has died but has not yet relinquished its process table slot (because the parent process hasn't executed a wait(2) for it yet). These can be seen in ps(1) listings occasionally. Compare orphan.
Node:zorch, Next:Zork, Previous:zombie, Up:= Z =
zorch /zorch/
1. [TMRC] v. To attack with an inverse heat sink. 2. [TMRC] v. To travel, with v approaching c [that is, with velocity approaching lightspeed --ESR]. 3. [MIT] v. To propel something very quickly. "The new comm software is very fast; it really zorches files through the network." 4. [MIT] n. Influence. Brownie points. Good karma. The intangible and fuzzy currency in which favors are measured. "I'd rather not ask him for that just yet; I think I've used up my quota of zorch with him for the week." 5. [MIT] n. Energy, drive, or ability. "I think I'll punt that change for now; I've been up for 30 hours and I've run out of zorch." 6. [MIT] v. To flunk an exam or course.
Node:Zork, Next:zorkmid, Previous:zorch, Up:= Z =
Zork /zork/ n.
The second of the great early experiments in computer fantasy gaming; see ADVENT. Originally written on MIT-DM during 1977-1979, later distributed with BSD Unix (as a patched, sourceless RT-11 FORTRAN binary; see retrocomputing) and commercialized as `The Zork Trilogy' by Infocom. The FORTRAN source was later rewritten for portability and released to Usenet under the name "Dungeon". Both FORTRAN "Dungeon" and translated C versions are available at many FTP sites. See also grue.
Node:zorkmid, Previous:Zork, Up:= Z =
zorkmid /zork'mid/ n.
The canonical unit of currency in hacker-written games. This originated in Zork but has spread to nethack and is referred to in several other games.
(Lexicon Entries End Here)
Node:Appendix A, Next:Appendix B, Previous:The Jargon Lexicon, Up:Top
Hacker Folklore
This appendix contains several legends and fables that illuminate the meaning of various entries in the lexicon.
The Meaning of Hack: ...and three famous ones
TV Typewriters: A Tale of Hackish Ingenuity
A Story About Magic: By Guy Steele
Some AI Koans: Wit and Wisdom of the Masters
OS and JEDGAR: Intrigue and mayhem under ITS
The Story of Mel: One of hackerdom's great myths
Node:The Meaning of Hack, Next:TV Typewriters, Previous:Appendix A, Up:Appendix A
The Meaning of `Hack'
"The word hack doesn't really have 69 different meanings", according to MIT hacker Phil Agre. "In fact, hack has only one meaning, an extremely subtle and profound one which defies articulation. Which connotation is implied by a given use of the word depends in similarly profound ways on the context. Similar remarks apply to a couple of other hacker words, most notably random."
Hacking might be characterized as `an appropriate application of ingenuity'. Whether the result is a quick-and-dirty patchwork job or a carefully crafted work of art, you have to admire the cleverness that went into it.
An important secondary meaning of hack is `a creative practical joke'. This kind of hack is easier to explain to non-hackers than the programming kind. Of course, some hacks have both natures; see the lexicon entries for pseudo and kgbvax. But here are some examples of pure practical jokes that illustrate the hacking spirit:
In 1961, students from Caltech (California Institute of Technology, in Pasadena) hacked the Rose Bowl football game. One student posed as a reporter and `interviewed' the director of the University of Washington card stunts (such stunts involve people in the stands who hold up colored cards to make pictures). The reporter learned exactly how the stunts were operated, and also that the director would be out to dinner later.
While the director was eating, the students (who called themselves the `Fiendish Fourteen') picked a lock and stole a blank direction sheet for the card stunts. They then had a printer run off 2300 copies of the blank. The next day they picked the lock again and stole the master plans for the stunts -- large sheets of graph paper colored in with the stunt pictures. Using these as a guide, they made new instructions for three of the stunts on the duplicated blanks. Finally, they broke in once more, replacing the stolen master plans and substituting the stack of diddled instruction sheets for the original set.
The result was that three of the pictures were totally different. Instead of `WASHINGTON', the word ``CALTECH' was flashed. Another stunt showed the word `HUSKIES', the Washington nickname, but spelled it backwards. And what was supposed to have been a picture of a husky instead showed a beaver. (Both Caltech and MIT use the beaver -- nature's engineer -- as a mascot.)
After the game, the Washington faculty athletic representative said: "Some thought it ingenious; others were indignant." The Washington student body president remarked: "No hard feelings, but at the time it was unbelievable. We were amazed."
This is now considered a classic hack, particularly because revising the direction sheets constituted a form of programming.
Here is another classic hack:
On November 20, 1982, MIT hacked the Harvard-Yale football game. Just after Harvard's second touchdown against Yale, in the first quarter, a small black ball popped up out of the ground at the 40-yard line, and grew bigger, and bigger, and bigger. The letters `MIT' appeared all over the ball. As the players and officials stood around gawking, the ball grew to six feet in diameter and then burst with a bang and a cloud of white smoke.
The "Boston Globe" later reported: "If you want to know the truth, MIT won The Game."
The prank had taken weeks of careful planning by members of MIT's Delta Kappa Epsilon fraternity. The device consisted of a weather balloon, a hydraulic ram powered by Freon gas to lift it out of the ground, and a vacuum-cleaner motor to inflate it. They made eight separate expeditions to Harvard Stadium between 1 and 5 A.M., locating an unused 110-volt circuit in the stadium and running buried wires from the stadium circuit to the 40-yard line, where they buried the balloon device. When the time came to activate the device, two fraternity members had merely to flip a circuit breaker and push a plug into an outlet.
This stunt had all the earmarks of a perfect hack: surprise, publicity, the ingenious use of technology, safety, and harmlessness. The use of manual control allowed the prank to be timed so as not to disrupt the game (it was set off between plays, so the outcome of the game would not be unduly affected). The perpetrators had even thoughtfully attached a note to the balloon explaining that the device was not dangerous and contained no explosives.
Harvard president Derek Bok commented: "They have an awful lot of clever people down there at MIT, and they did it again." President Paul E. Gray of MIT said: "There is absolutely no truth to the rumor that I had anything to do with it, but I wish there were."
The hacks above are verifiable history; they can be proved to have happened. Many other classic-hack stories from MIT and elsewhere, though retold as history, have the characteristics of what Jan Brunvand has called `urban folklore' (see FOAF). Perhaps the best known of these is the legend of the infamous trolley-car hack, an alleged incident in which engineering students are said to have welded a trolley car to its tracks with thermite. Numerous versions of this have been recorded from the 1940s to the present, most set at MIT but at least one very detailed version set at CMU.
Brian Leibowitz has researched MIT hacks both real and mythical extensively; the interested reader is referred to his delightful pictorial compendium "The Journal of the Institute for Hacks, Tomfoolery, and Pranks" (MIT Museum, 1990; ISBN 0-917027-03-5). The Institute has a World Wide Web page at http://hacks.mit.edu/Hacks/Gallery.html. There is rumored to be a sequel entitled "Is This The Way To Baker Street?". The Caltech Alumni Association has published two similar books titled "Legends of Caltech" and "More Legends of Caltech".
Finally, here is a story about one of the classic computer hacks.
Back in the mid-1970s, several of the system support staff at Motorola discovered a relatively simple way to crack system security on the Xerox CP-V timesharing system. Through a simple programming strategy, it was possible for a user program to trick the system into running a portion of the program in `master mode' (supervisor state), in which memory protection does not apply. The program could then poke a large value into its `privilege level' byte (normally write-protected) and could then proceed to bypass all levels of security within the file-management system, patch the system monitor, and do numerous other interesting things. In short, the barn door was wide open.
Motorola quite properly reported this problem to Xerox via an official `level 1 SIDR' (a bug report with an intended urgency of `needs to be fixed yesterday'). Because the text of each SIDR was entered into a database that could be viewed by quite a number of people, Motorola followed the approved procedure: they simply reported the problem as `Security SIDR', and attached all of the necessary documentation, ways-to-reproduce, etc.
The CP-V people at Xerox sat on their thumbs; they either didn't realize the severity of the problem, or didn't assign the necessary operating-system-staff resources to develop and distribute an official patch.
Months passed. The Motorola guys pestered their Xerox field-support rep, to no avail. Finally they decided to take direct action, to demonstrate to Xerox management just how easily the system could be cracked and just how thoroughly the security safeguards could be subverted.
They dug around in the operating-system listings and devised a thoroughly devilish set of patches. These patches were then incorporated into a pair of programs called `Robin Hood' and `Friar Tuck'. Robin Hood and Friar Tuck were designed to run as `ghost jobs' (daemons, in Unix terminology); they would use the existing loophole to subvert system security, install the necessary patches, and then keep an eye on one another's statuses in order to keep the system operator (in effect, the superuser) from aborting them.
One fine day, the system operator on the main CP-V software development system in El Segundo was surprised by a number of unusual phenomena. These included the following:
Tape drives would rewind and dismount their tapes in the middle of a job.
Disk drives would seek back and forth so rapidly that they would attempt to walk across the floor (see walking drives).
The card-punch output device would occasionally start up of itself and punch a lace card. These would usually jam in the punch.
The console would print snide and insulting messages from Robin Hood to Friar Tuck, or vice versa.
The Xerox card reader had two output stackers; it could be instructed to stack into A, stack into B, or stack into A (unless a card was unreadable, in which case the bad card was placed into stacker B). One of the patches installed by the ghosts added some code to the card-reader driver... after reading a card, it would flip over to the opposite stacker. As a result, card decks would divide themselves in half when they were read, leaving the operator to recollate them manually.
Naturally, the operator called in the operating-system developers. They found the bandit ghost jobs running, and gunned them... and were once again surprised. When Robin Hood was gunned, the following sequence of events took place:
!X id1
id1: Friar Tuck... I am under attack! Pray save me! id1: Off (aborted)
id2: Fear not, friend Robin! I shall rout the Sheriff of Nottingham's men!
id1: Thank you, my good fellow!
Each ghost-job would detect the fact that the other had been killed, and would start a new copy of the recently slain program within a few milliseconds. The only way to kill both ghosts was to kill them simultaneously (very difficult) or to deliberately crash the system.
Finally, the system programmers did the latter -- only to find that the bandits appeared once again when the system rebooted! It turned out that these two programs had patched the boot-time OS image (the kernel file, in Unix terms) and had added themselves to the list of programs that were to be started at boot time (this is similar to the way MS-DOS viruses propagate).
The Robin Hood and Friar Tuck ghosts were finally eradicated when the system staff rebooted the system from a clean boot-tape and reinstalled the monitor. Not long thereafter, Xerox released a patch for this problem.
It is alleged that Xerox filed a complaint with Motorola's management about the merry-prankster actions of the two employees in question. It is not recorded that any serious disciplinary action was taken against either of them.
Node:TV Typewriters, Next:A Story About Magic, Previous:The Meaning of Hack, Up:Appendix A
TV Typewriters A Tale of Hackish Ingenuity
Here is a true story about a glass tty: One day an MIT hacker was in a motorcycle accident and broke his leg. He had to stay in the hospital quite a while, and got restless because he couldn't hack. Two of his friends therefore took a terminal and a modem for it to the hospital, so that he could use the computer by telephone from his hospital bed.
Now this happened some years before the spread of home computers, and computer terminals were not a familiar sight to the average person. When the two friends got to the hospital, a guard stopped them and asked what they were carrying. They explained that they wanted to take a computer terminal to their friend who was a patient.
The guard got out his list of things that patients were permitted to have in their rooms: TV, radio, electric razor, typewriter, tape player, ... no computer terminals. Computer terminals weren't on the list, so the guard wouldn't let it in. Rules are rules, you know. (This guard was clearly a droid.)
Fair enough, said the two friends, and they left again. They were frustrated, of course, because they knew that the terminal was as harmless as a TV or anything else on the list... which gave them an idea.
The next day they returned, and the same thing happened: a guard stopped them and asked what they were carrying. They said: "This is a TV typewriter!" The guard was skeptical, so they plugged it in and demonstrated it. "See? You just type on the keyboard and what you type shows up on the TV screen." Now the guard didn't stop to think about how utterly useless a typewriter would be that didn't produce any paper copies of what you typed; but this was clearly a TV typewriter, no doubt about it. So he checked his list: "A TV is all right, a typewriter is all right ... okay, take it on in!"
[Historical note: Many years ago, "Popular Electronics" published solder-it-yourself plans for a TV typewriter. Despite the essential uselessness of the device, it was an enormously popular project. Steve Ciarcia, the man behind "Byte" magazine's "Circuit Cellar" feature, resurrected this ghost in one of his books of the early 1980s. He ascribed its popularity (no doubt correctly) to the feeling of power the builder could achieve by being able to decide himself what would be shown on the TV. --ESR]
[Antihistorical note: On September 23rd, 1992, the L.A. Times ran the following bit in Steve Harvey's `Only in L.A.' column:
It must have been borrowed from a museum: Solomon Waters of Altadena, a 6-year-old first-grader, came home from his first day of school and excitedly told his mother how he had written on "a machine that looks like a computer-but without the TV screen."
She asked him if it could have been a "typewriter."
"Yeah! Yeah!" he said. "That's what it was called."
I have since investigated this matter and determined that many of today's teenagers have never seen a slide rule, either.... - ESR]
Node:A Story About Magic, Next:Some AI Koans, Previous:TV Typewriters, Up:Appendix A
A Story About `Magic'
Some years ago, I (GLS) was snooping around in the cabinets that housed the MIT AI Lab's PDP-10, and noticed a little switch glued to the frame of one cabinet. It was obviously a homebrew job, added by one of the lab's hardware hackers (no one knows who).
You don't touch an unknown switch on a computer without knowing what it does, because you might crash the computer. The switch was labeled in a most unhelpful way. It had two positions, and scrawled in pencil on the metal switch body were the words `magic' and `more magic'. The switch was in the `more magic' position.
I called another hacker over to look at it. He had never seen the switch before either. Closer examination revealed that the switch had only one wire running to it! The other end of the wire did disappear into the maze of wires inside the computer, but it's a basic fact of electricity that a switch can't do anything unless there are two wires connected to it. This switch had a wire connected on one side and no wire on its other side.
It was clear that this switch was someone's idea of a silly joke. Convinced by our reasoning that the switch was inoperative, we flipped it. The computer instantly crashed.
Imagine our utter astonishment. We wrote it off as coincidence, but nevertheless restored the switch to the `more magic' position before reviving the computer.
A year later, I told this story to yet another hacker, David Moon as I recall. He clearly doubted my sanity, or suspected me of a supernatural belief in the power of this switch, or perhaps thought I was fooling him with a bogus saga. To prove it to him, I showed him the very switch, still glued to the cabinet frame with only one wire connected to it, still in the `more magic' position. We scrutinized the switch and its lone connection, and found that the other end of the wire, though connected to the computer wiring, was connected to a ground pin. That clearly made the switch doubly useless: not only was it electrically nonoperative, but it was connected to a place that couldn't affect anything anyway. So we flipped the switch.
The computer promptly crashed.
This time we ran for Richard Greenblatt, a long-time MIT hacker, who was close at hand. He had never noticed the switch before, either. He inspected it, concluded it was useless, got some diagonal cutters and diked it out. We then revived the computer and it has run fine ever since.
We still don't know how the switch crashed the machine. There is a theory that some circuit near the ground pin was marginal, and flipping the switch changed the electrical capacitance enough to upset the circuit as millionth-of-a-second pulses went through it. But we'll never know for sure; all we can really say is that the switch was magic.
I still have that switch in my basement. Maybe I'm silly, but I usually keep it set on `more magic'.
1994: Another explanation of this story has since been offered. Note that the switch body was metal. Suppose that the non-connected side of the switch was connected to the switch body (usually the body is connected to a separate earth lug, but there are exceptions). The body is connected to the computer case, which is, presumably, grounded. Now the circuit ground within the machine isn't necessarily at the same potential as the case ground, so flipping the switch connected the circuit ground to the case ground, causing a voltage drop/jump which reset the machine. This was probably discovered by someone who found out the hard way that there was a potential difference between the two, and who then wired in the switch as a joke.
Node:Some AI Koans, Next:OS and JEDGAR, Previous:A Story About Magic, Up:Appendix A
Some AI Koans
These are some of the funniest examples of a genre of jokes told at the MIT AI Lab about various noted hackers. The original koans were composed by Danny Hillis, who would later found Connection Machines, Inc. In reading these, it is at least useful to know that Minsky, Sussman, and Drescher are AI researchers of note, that Tom Knight was one of the Lisp machine's principal designers, and that David Moon wrote much of Lisp Machine Lisp.
* * *
A novice was trying to fix a broken Lisp machine by turning the power off and on.
Knight, seeing what the student was doing, spoke sternly: "You cannot fix a machine by just power-cycling it with no understanding of what is going wrong."
Knight turned the machine off and on.
The machine worked.
* * *
One day a student came to Moon and said: "I understand how to make a better garbage collector. We must keep a reference count of the pointers to each cons."
Moon patiently told the student the following story:
"One day a student came to Moon and said: `I understand how to make a better garbage collector...
[Ed. note: Pure reference-count garbage collectors have problems with circular structures that point to themselves.]
* * *
In the days when Sussman was a novice, Minsky once came to him as he sat hacking at the PDP-6.
"What are you doing?", asked Minsky.
"I am training a randomly wired neural net to play Tic-Tac-Toe" Sussman replied.
"Why is the net wired randomly?", asked Minsky.
"I do not want it to have any preconceptions of how to play", Sussman said.
Minsky then shut his eyes.
"Why do you close your eyes?", Sussman asked his teacher.
"So that the room will be empty."
At that moment, Sussman was enlightened.
* * *
A disciple of another sect once came to Drescher as he was eating his morning meal.
"I would like to give you this personality test", said the outsider, "because I want you to be happy."
Drescher took the paper that was offered him and put it into the toaster, saying: "I wish the toaster to be happy, too."
Node:OS and JEDGAR, Next:The Story of Mel, Previous:Some AI Koans, Up:Appendix A
OS and JEDGAR
This story says a lot about the ITS ethos.
On the ITS system there was a program that allowed you to see what was being printed on someone else's terminal. It spied on the other guy's output by examining the insides of the monitor system. The output spy program was called OS. Throughout the rest of the computer science world (and at IBM too) OS means `operating system', but among old-time ITS hackers it almost always meant `output spy'.
OS could work because ITS purposely had very little in the way of `protection' that prevented one user from trespassing on another's areas. Fair is fair, however. There was another program that would automatically notify you if anyone started to spy on your output. It worked in exactly the same way, by looking at the insides of the operating system to see if anyone else was looking at the insides that had to do with your output. This `counterspy' program was called JEDGAR (a six-letterism pronounced as two syllables: /jed'gr/), in honor of the former head of the FBI.
But there's more. JEDGAR would ask the user for `license to kill'. If the user said yes, then JEDGAR would actually gun the job of the luser who was spying. Unfortunately, people found that this made life too violent, especially when tourists learned about it. One of the systems hackers solved the problem by replacing JEDGAR with another program that only pretended to do its job. It took a long time to do this, because every copy of JEDGAR had to be patched. To this day no one knows how many people never figured out that JEDGAR had been defanged.
Interestingly, there is still a security module named JEDGAR alive as of late 1994 -- in the Unisys MCP for large systems. It is unknown to us whether the name is tribute or independent invention.
Node:The Story of Mel, Previous:OS and JEDGAR, Up:Appendix A
The Story of Mel
This was posted to Usenet by its author, Ed Nather (utastro!nather), on May 21, 1983.
A recent article devoted to the macho side of programming made the bald and unvarnished statement:
Real Programmers write in FORTRAN.
Maybe they do now, in this decadent era of Lite beer, hand calculators, and ``user-friendly'' software but back in the Good Old Days, when the term ``software'' sounded funny and Real Computers were made out of drums and vacuum tubes, Real Programmers wrote in machine code. Not FORTRAN. Not RATFOR. Not, even, assembly language. Machine Code. Raw, unadorned, inscrutable hexadecimal numbers. Directly.
Lest a whole new generation of programmers grow up in ignorance of this glorious past, I feel duty-bound to describe, as best I can through the generation gap, how a Real Programmer wrote code. I'll call him Mel, because that was his name.
I first met Mel when I went to work for Royal McBee Computer Corp., a now-defunct subsidiary of the typewriter company. The firm manufactured the LGP-30, a small, cheap (by the standards of the day) drum-memory computer, and had just started to manufacture the RPC-4000, a much-improved, bigger, better, faster --- drum-memory computer. Cores cost too much, and weren't here to stay, anyway. (That's why you haven't heard of the company, or the computer.)
I had been hired to write a FORTRAN compiler for this new marvel and Mel was my guide to its wonders. Mel didn't approve of compilers.
``If a program can't rewrite its own code'', he asked, ``what good is it?''
Mel had written, in hexadecimal, the most popular computer program the company owned. It ran on the LGP-30 and played blackjack with potential customers at computer shows. Its effect was always dramatic. The LGP-30 booth was packed at every show, and the IBM salesmen stood around talking to each other. Whether or not this actually sold computers was a question we never discussed.
Mel's job was to re-write the blackjack program for the RPC-4000. (Port? What does that mean?) The new computer had a one-plus-one addressing scheme, in which each machine instruction, in addition to the operation code and the address of the needed operand, had a second address that indicated where, on the revolving drum, the next instruction was located.
In modern parlance, every single instruction was followed by a GO TO! Put that in Pascal's pipe and smoke it.
Mel loved the RPC-4000 because he could optimize his code: that is, locate instructions on the drum so that just as one finished its job, the next would be just arriving at the ``read head'' and available for immediate execution. There was a program to do that job, an ``optimizing assembler'', but Mel refused to use it.
``You never know where it's going to put things'', he explained, ``so you'd have to use separate constants''.
It was a long time before I understood that remark. Since Mel knew the numerical value of every operation code, and assigned his own drum addresses, every instruction he wrote could also be considered a numerical constant. He could pick up an earlier ``add'' instruction, say, and multiply by it, if it had the right numeric value. His code was not easy for someone else to modify.
I compared Mel's hand-optimized programs with the same code massaged by the optimizing assembler program, and Mel's always ran faster. That was because the ``top-down'' method of program design hadn't been invented yet, and Mel wouldn't have used it anyway. He wrote the innermost parts of his program loops first, so they would get first choice of the optimum address locations on the drum. The optimizing assembler wasn't smart enough to do it that way.
Mel never wrote time-delay loops, either, even when the balky Flexowriter required a delay between output characters to work right. He just located instructions on the drum so each successive one was just past the read head when it was needed; the drum had to execute another complete revolution to find the next instruction. He coined an unforgettable term for this procedure. Although ``optimum'' is an absolute term, like ``unique'', it became common verbal practice to make it relative: ``not quite optimum'' or ``less optimum'' or ``not very optimum''. Mel called the maximum time-delay locations the ``most pessimum''.
After he finished the blackjack program and got it to run (``Even the initializer is optimized'', he said proudly), he got a Change Request from the sales department. The program used an elegant (optimized) random number generator to shuffle the ``cards'' and deal from the ``deck'', and some of the salesmen felt it was too fair, since sometimes the customers lost. They wanted Mel to modify the program so, at the setting of a sense switch on the console, they could change the odds and let the customer win.
Mel balked. He felt this was patently dishonest, which it was, and that it impinged on his personal integrity as a programmer, which it did, so he refused to do it. The Head Salesman talked to Mel, as did the Big Boss and, at the boss's urging, a few Fellow Programmers. Mel finally gave in and wrote the code, but he got the test backwards, and, when the sense switch was turned on, the program would cheat, winning every time. Mel was delighted with this, claiming his subconscious was uncontrollably ethical, and adamantly refused to fix it.