Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

The Original Hacker's Dictionary

Tags: program hack
The Original Hacker's Dictionary
[This file, jargon.txt, was maintained on MIT-AI for many years, before being published by Guy Steele and others as the Hacker's Dictionary. Many years after the original book went out of print, Eric Raymond picked it up, updated it and republished it as the New Hacker's Dictionary. Unfortunately, in the process, he essentially destroyed what held it together, in various ways: first, by changing its emphasis from Lisp-based to UNIX-based (blithely ignoring the distinctly anti-UNIX aspects of the LISP culture celebrated in the original); second, by watering down what was otherwise the fairly undiluted record of a single cultural group through this kind of mixing; and third, by adding in all sorts of terms which are "jargon" only in the sense that they're technical. This page, however, is pretty much the original, snarfed from MIT-AI around 1988. -- jpd.]


Verb doubling: a standard construction is to double a verb and use i as a comment on what the implied subject does. Often used to terminate a conversation. Typical examples involve WIN, LOSE, HACK, FLAME, BARF, CHOMP. "The disk heads just crashed." "Lose, lose." "Mostly he just talked about his --- crock. Flame, flame." "Boy, what a bagbiter! Chomp, chomp!"

Soundalike slang: similar to Cockney rhyming slang. Often made up on the spur of the moment. Standard examples: Boston Globe => Boston Glob; Herald American => Horrid (Harried) American; New York Times => New York Slime; historical reasons => hysterical raisins; government property - do not duplicate (seen on keys) => government duplicity - do not propagate. Often the substitution will be made in such a way as to slip in a standard jargon word: Dr. Dobb's Journal => Dr. Frob's Journal; creeping featurism => feeping creaturism; Margaret Jacks Hall => Marginal Hacks Hall.

The -P convention: turning a word into a question by appending the syllable "P"; from the LISP convention of appending the letter "P" to denote a predicate (a Boolean-values function). The question should expect a yes/no answer, though it needn't. (See T and NIL.) At dinnertime: "Foodp?" "Yeah, I'm pretty hungry." or "T!"; "State-of-the-world-P?" (Straight) "I'm about to go home." (Humorous) "Yes, the world has a state."

[One of the best of these is a Gosperism (i.e., due to Bill Gosper). When we were at a Chinese restaurant, he wanted to know whether someone would like to share with him a two-person-sized bowl of soup. His inquiry was: "Split-p soup?" --GLS]

Peculiar nouns: MIT AI hackers love to take various words and add the wrong endings to them to make nouns and verbs, often by extending a standard rule to nonuniform cases. Examples: porous => porosity. generous => generosity. Ergo: mysterious => mysteriosity. ferrous => ferocity. Other examples: winnitude, disgustitude, hackification.

Spoken inarticulations: Words such as "mumble", "sigh", and "groan" are spoken in places where their referent might more naturally be used. It has been suggested that this usage derives from the impossibility of representing such noises in a com link. Another expression sometimes heard is "complain!"

@BEGIN (primarily CMU) with @END, used humorously in writing to indicate a context or to remark on the surrounded text. From the SCRIBE command of the same name. For example:

@Begin(Flame)
Predicate logic is the only good programming language.
Anyone who would use anything else is an idiot.  Also,
computers should be tredecimal instead of binary.
@End(Flame)
ANGLE BRACKETS (primarily MIT) n. Either of the characters "". See BROKET.

AOS (aus (East coast) ay-ahs (West coast)) [based on a PDP-10 increment instruction] v. To increase the amount of something. "Aos the campfire." Usage: considered silly. See SOS.

ARG n. Abbreviation for "argument" (to a function), used so often as to have become a new word.

AUTOMAGICALLY adv. Automatically, but in a way which, for some reason (typically because it is too complicated, or too ugly, or perhaps even too trivial), I don't feel like explaining to you. See MAGIC. Example: Some programs which produce XGP output files spool them automagically.

BAGBITER 1. n. Equipment or program that fails, usually intermittently. 2. BAGBITING: adj. Failing hardware or software. "This bagbiting system won't let me get out of spacewar." Usage: verges on obscenity. Grammatically separable; one may speak of "biting the bag". Synonyms: LOSER, LOSING, CRETINOUS, BLETCHEROUS, BARFUCIOUS, CHOMPER, CHOMPING.

BANG n. Common alternate name for EXCL (q.v.), especially at CMU. See SHRIEK.

BAR 1. The second metasyntactic variable, after FOO. "Suppose we have two functions FOO and BAR. FOO calls BAR..." 2. Often appended to FOO to produce FOOBAR.

BARF [from the "layman" slang, meaning "vomit"] 1. interj. Term of disgust. See BLETCH. 2. v. Choke, as on input. May mean to give an error message. "The function `=' compares two fixnums or two flonums, and barfs on anything else." 3. BARFULOUS, BARFUCIOUS: adj. Said of something which would make anyone barf, if only for aesthetic reasons.

BELLS AND WHISTLES n. Unnecessary but useful (or amusing) features of a program. "Now that we've got the basic program working, let's go back and add some bells and whistles." Nobody seems to know what distinguishes a bell from a whistle.

BIGNUMS [from Macsyma] n. 1. In backgammon, large numbers on the dice. 2. Multiple-precision (sometimes infinitely extendable) integers and, through analogy, any very large numbers. 3. EL CAMINO BIGNUM: El Camino Real, a street through the San Francisco peninsula that originally extended (and still appears in places) all the way to Mexico City. It was termed "El Camino Double Precision" when someone noted it was a very long street, and then "El Camino Bignum" when it was pointed out that it was hundreds of miles long.

BIN [short for BINARY; used as a second file name on ITS] 1. n. BINARY. 2. BIN FILE: A file containing the BIN for a program. Usage: used at MIT, which runs on ITS. The equivalent term at Stanford is DMP (pronounced "dump") FILE. Other names used include SAV ("save") FILE (DEC and Tenex), SHR ("share") and LOW FILES (DEC), and EXE ("ex'ee") FILE (DEC and Twenex). Also in this category are the input files to the various flavors of linking loaders (LOADER, LINK-10, STINK), called REL FILES.

BINARY n. The object code for a program.

BIT n. 1. The unit of information; the amount of information obtained by asking a yes-or-no question. "Bits" is often used simply to mean information, as in "Give me bits about DPL replicators". 2. [By extension from "interrupt bits" on a computer] A reminder that something should be done or talked about eventually. Upon seeing someone that you haven't talked to for a while, it's common for one or both to say, "I have a bit set for you."

BITBLT (bit'blit) 1. v. To perform a complex operation on a large block of bits, usually involving the bits being displayed on a bitmapped raster screen. See BLT. 2. n. The operation itself.

BIT BUCKET n. 1. A receptacle used to hold the runoff from the computer's shift registers. 2. Mythical destination of deleted files, GC'ed memory, and other no-longer-accessible data. 3. The physical device associated with "NUL:".

BLETCH [from German "brechen", to vomit (?)] 1. interj. Term of disgust. 2. BLETCHEROUS: adj. Disgusting in design or function. "This keyboard is bletcherous!" Usage: slightly comic.

BLT (blit, very rarely belt) [based on the PDP-10 block transfer instruction; confusing to users of the PDP-11] 1. v. To transfer a large contiguous package of information from one place to another. 2. THE BIG BLT: n. Shuffling operation on the PDP-10 under some operating systems that consumes a significant amount of computer time. 3. (usually pronounced B-L-T) n. Sandwich containing bacon, lettuce, and tomato.

BOGOSITY n. The degree to which something is BOGUS (q.v.). At CMU, bogosity is measured with a bogometer; typical use: in a seminar, when a speaker says something bogus, a listener might raise his hand and say, "My bogometer just triggered." The agreed-upon unit of bogosity is the microLenat (uL).

BOGUS (WPI, Yale, Stanford) adj. 1. Non-functional. "Your patches are bogus." 2. Useless. "OPCON is a bogus program." 3. False. "Your arguments are bogus." 4. Incorrect. "That algorithm is bogus." 5. Silly. "Stop writing those bogus sagas." (This word seems to have some, but not all, of the connotations of RANDOM.) [Etymological note from Lehman/Reid at CMU: "Bogus" was originally used (in this sense) at Princeton, in the late 60's. It was used not particularly in the CS department, but all over campus. It came to Yale, where one of us (Lehman) was an undergraduate, and (we assume) elsewhere through the efforts of Princeton alumni who brought the word with them from their alma mater. In the Yale case, the alumnus is Michael Shamos, who was a graduate student at Yale and is now a faculty member here. A glossary of bogus words was compiled at Yale when the word was first popularized (e.g., autobogophobia: the fear of becoming bogotified).]

BOUNCE (Stanford) v. To play volleyball. "Bounce, bounce! Stop wasting time on the computer and get out to the court!"

BRAIN-DAMAGED [generalization of "Honeywell Brain Damage" (HBD), a theoretical disease invented to explain certain utter cretinisms in Multics] adj. Obviously wrong; cretinous; demented. There is an implication that the person responsible must have suffered brain damage, because he should have known better. Calling something brain-damaged is really bad; it also implies it is unusable.

BREAK v. 1. To cause to be broken (in any sense). "Your latest patch to the system broke the TELNET server." 2. (of a program) To stop temporarily, so that it may be examined for debugging purposes. The place where it stops is a BREAKPOINT.

BROKEN adj. 1. Not working properly (of programs). 2. Behaving strangely; especially (of people), exhibiting extreme depression.

BROKET [by analogy with "bracket": a "broken bracket"] (primarily Stanford) n. Either of the characters "". (At MIT, and apparently in The Real World (q.v.) as well, these are usually called ANGLE BRACKETS.)

BUCKY BITS (primarily Stanford) n. The bits produced by the CTRL and META shift keys on a Stanford (or Knight) keyboard. Rumor has it that the idea for extra bits for characters came from Niklaus Wirth, and that his nickname was `Bucky'. DOUBLE BUCKY: adj. Using both the CTRL and META keys. "The command to burn all LEDs is double bucky F."

BUG [from telephone terminology, "bugs in a telephone cable", blamed for noisy lines; however, Jean Sammet has repeatedly been heard to claim that the use of the term in CS comes from a story concerning actual bugs found wedged in an early malfunctioning computer] n. An unwanted and unintended property of a program. (People can have bugs too (even winners) as in "PHW is a super winner, but he has some bugs.") See FEATURE.

BUM 1. v. To make highly efficient, either in time or space, often at the expense of clarity. The object of the verb is usually what was removed ("I managed to bum three more instructions.") but can be the program being changed ("I bummed the inner loop down to seven microseconds.") 2. n. A small change to an algorithm to make it more efficient.

BUZZ v. To run in a very tight loop, perhaps without guarantee of getting out.

CANONICAL adj. The usual or standard state or manner of something. A true story: One Bob Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use of jargon. Over his loud objections, we made a point of using jargon as much as possible in his presence, and eventually it began to sink in. Finally, in one conversation, he used the word "canonical" in jargon-like fashion without thinking. Steele: "Aha! We've finally got you talking jargon too!" Stallman: "What did he say?" Steele: "He just used `canonical' in the canonical way."

CATATONIA (kat-uh-toe'nee-uh) n. A condition of suspended animation in which the system is in a wedged (CATATONIC) state.

CDR (ku'der) [from LISP] v. With "down", to trace down a list of elements. "Shall we cdr down the agenda?" Usage: silly.

CHINE NUAL n. The Lisp Machine Manual, so called because the title is wrapped around the cover so only those letters show.

CHOMP v. To lose; to chew on something of which more was bitten off than one can. Probably related to gnashing of teeth. See BAGBITER. A hand gesture commonly accompanies this, consisting of the four fingers held together as if in a mitten or hand puppet, and the fingers and thumb open and close rapidly to illustrate a biting action. The gesture alone means CHOMP CHOMP (see Verb Doubling).

CLOSE n. Abbreviation for "close (or right) parenthesis", used when necessary to eliminate oral ambiguity. See OPEN.

COKEBOTTLE n. Any very unusual character. MIT people complain about the "control-meta-cokebottle" commands at SAIL, and SAIL people complain about the "altmode-altmode-cokebottle" commands at MIT.

COM MODE (variant: COMM MODE) [from the ITS feature for linking two or more terminals together so that text typed on any is echoed on all, providing a means of conversation among hackers] n. The state a terminal is in when linked to another in this way. Com mode has a special set of jargon words, used to save typing, which are not used orally:

BCNU Be seeing you.
BTW By the way...
BYE? Are you ready to unlink?  (This is the standard way to end a com mode conversation; the other person types BYE to confirm, or else continues the conversation.)
CUL See you later.
FOO? A greeting, also meaning R U THERE?  Often used in the case of unexpected links, meaning also "Sorry if I butted in" (linker) or "What's up?" (linkee).
FYI For your information...
GA Go ahead (used when two people have tried to type simultaneously; this cedes the right to type to the other).
HELLOP A greeting, also meaning R U THERE?  (An instance of the "-P" convention.)
MtFBWY May the Force be with you.  (From Star Wars.)
NIL No (see the main entry for NIL).
OBTW Oh, by the way...
R U THERE? Are you there?
SEC Wait a second (sometimes written SEC...).
T Yes (see the main entry for T).
TNX Thanks.
TNX 1.0E6 Thanks a million (humorous).
When the typing party has finished, he types two CRLF's to signal that he is done; this leaves a blank line between individual "speeches" in the conversation, making it easier to re-read the preceding text.
: When three or more terminals are linked, each speech is preceded by the typist's login name and a colon (or a hyphen) to indicate who is typing. The login name often is shortened to a unique prefix (possibly a single letter) during a very long conversation.

/\/\/\ The equivalent of a giggle.

At Stanford, where the link feature is implemented by "talk loops", the term TALK MODE is used in place of COM MODE. Most of the above "sub-jargon" is used at both Stanford and MIT.

CONNECTOR CONSPIRACY [probably came into prominence with the appearance of the KL-10, none of whose connectors match anything else] n. The tendency of manufacturers (or, by extension, programmers or purveyors of anything) to come up with new products which don't fit together with the old stuff, thereby making you buy either all new stuff or expensive interface devices.

CONS [from LISP] 1. v. To add a new element to a list. 2. CONS UP: v. To synthesize from smaller pieces: "to cons up an example".

CRASH 1. n. A sudden, usually drastic failure. Most often said of the system (q.v., definition #1), sometimes of magnetic disk drives. "Three lusers lost their files in last night's disk crash." A disk crash which entails the read/write heads dropping onto the surface of the disks and scraping off the oxide may also be referred to as a "head crash". 2. v. To fail suddenly. "Has the system just crashed?" Also used transitively to indicate the cause of the crash (usually a person or a program, or both). "Those idiots playing spacewar crashed the system." Sometimes said of people. See GRONK OUT.

CRETIN 1. n. Congenital loser (q.v.). 2. CRETINOUS: adj. See BLETCHEROUS and BAGBITING. Usage: somewhat ad hominem.

CRLF (cur'lif, sometimes crul'lif) n. A carriage return (CR) followed by a line feed (LF). See TERPRI.

CROCK [probably from "layman" slang, which in turn may be derived from "crock of shit"] n. An awkward feature or programming technique that ought to be made cleaner. Example: Using small integers to represent error codes without the program interpreting them to the user is a crock. Also, a technique that works acceptably but which is quite prone to failure if disturbed in the least, for example depending on the machine opcodes having particular bit patterns so that you can use instructions as data words too; a tightly woven, almost completely unmodifiable structure.

CRUFTY [from "cruddy"] adj. 1. Poorly built, possibly overly complex. "This is standard old crufty DEC software". Hence CRUFT, n. shoddy construction. Also CRUFT, v. [from hand cruft, pun on hand craft] to write assembler code for something normally (and better) done by a compiler. 2. Unpleasant, especially to the touch, often with encrusted junk. Like spilled coffee smeared with peanut butter and catsup. Hence CRUFT, n. disgusting mess. 3. Generally unpleasant. CRUFTY or CRUFTIE n. A small crufty object (see FROB); often one which doesn't fit well into the scheme of things. "A LISP property list is a good place to store crufties (or, random cruft)." [Note: Does CRUFT have anything to do with the Cruft Lab at Harvard? I don't know, though I was a Harvard student. - GLS]

CRUNCH v. 1. To process, usually in a time-consuming or complicated way. Connotes an essentially trivial operation which is nonetheless painful to perform. The pain may be due to the triviality being imbedded in a loop from 1 to 1000000000. "FORTRAN programs do mostly number crunching." 2. To reduce the size of a file by a complicated scheme that produces bit configurations completely unrelated to the original data, such as by a Huffman code. (The file ends up looking like a paper document would if somebody crunched the paper into a wad.) Since such compression usually takes more computations than simpler methods such as counting repeated characters (such as spaces) the term is doubly appropriate. (This meaning is usually used in the construction "file crunch(ing)" to distinguish it from "number crunch(ing)".) 3. n. The character "#". Usage: used at Xerox and CMU, among other places. Other names for "#" include SHARP, NUMBER, HASH, PIG-PEN, POUND-SIGN, and MESH. GLS adds: I recall reading somewhere that most of these are names for the # symbol IN CONTEXT. The name for the sign itself is "octothorp".

CTY (city) n. The terminal physically associated with a computer's operating console.

CUSPY [from the DEC acronym CUSP, for Commonly Used System Program, i.e., a utility program used by many people] (WPI) adj. 1. (of a program) Well-written. 2. Functionally excellent. A program which performs well and interfaces well to users is cuspy. See RUDE.

DAEMON (day'mun, dee'mun) [archaic form of "demon", which has slightly different connotations (q.v.)] n. A program which is not invoked explicitly, but which lays dormant waiting for some condition(s) to occur. The idea is that the perpetrator of the condition need not be aware that a daemon is lurking (though often a program will commit an action only because it knows that it will implicitly invoke a daemon). For example, writing a file on the lpt spooler's directory will invoke the spooling daemon, which prints the file. The advantage is that programs which want (in this example) files printed need not compete for access to the lpt. They simply enter their implicit requests and let the daemon decide what to do with them. Daemons are usually spawned automatically by the system, and may either live forever or be regenerated at intervals. Usage: DAEMON and DEMON (q.v.) are often used interchangeably, but seem to have distinct connotations. DAEMON was introduced to computing by CTSS people (who pronounced it dee'mon) and used it to refer to what is now called a DRAGON or PHANTOM (q.v.). The meaning and pronunciation have drifted, and we think this glossary reflects current usage.

DAY MODE See PHASE (of people).

DEADLOCK n. A situation wherein two or more processes are unable to proceed because each is waiting for another to do something. A common example is a program communicating to a PTY or STY, which may find itself waiting for output from the PTY/STY before sending anything more to it, while the PTY/STY is similarly waiting for more input from the controlling program before outputting anything. (This particular flavor of deadlock is called "starvation". Another common flavor is "constipation", where each process is trying to send stuff to the other, but all buffers are full because nobody is reading anything.) See DEADLY EMBRACE.

DEADLY EMBRACE n. Same as DEADLOCK (q.v.), though usually used only when exactly two processes are involved. DEADLY EMBRACE is the more popular term in Europe; DEADLOCK in the United States.

DEMENTED adj. Yet another term of disgust used to describe a program. The connotation in this case is that the program works as designed, but the design is bad. For example, a program that generates large numbers of meaningless error messages implying it is on the point of imminent collapse.

DEMON (dee'mun) n. A portion of a program which is not invoked explicitly, but which lays dormant waiting for some condition(s) to occur. See DAEMON. The distinction is that demons are usually processes within a program, while daemons are usually programs running on an operating system. Demons are particularly common in AI programs. For example, a knowledge manipulation program might implement inference rules as demons. Whenever a new piece of knowledge was added, various demons would activate (which demons depends on the particular piece of data) and would create additional pieces of knowledge by applying their respective inference rules to the original piece. These new pieces could in turn activate more demons as the inferences filtered down through chains of logic. Meanwhile the main program could continue with whatever its primary task was.

DIABLO (dee-ah'blow) [from the Diablo printer] 1. n. Any letter- quality printing device. 2. v. To produce letter-quality output from such a device.

DIDDLE v. To work with in a not particularly serious manner. "I diddled with a copy of ADVENT so it didn't double-space all the time." "Let's diddle this piece of code and see if the problem goes away." See TWEAK and TWIDDLE.

DIKE [from "diagonal cutters"] v. To remove a module or disable it. "When in doubt, dike it out."

DMP (dump) See BIN.

DO PROTOCOL [from network protocol programming] v. To perform an interaction with somebody or something that follows a clearly defined procedure. For example, "Let's do protocol with the check" at a restaurant means to ask the waitress for the check, calculate the tip and everybody's share, generate change as necessary, and pay the bill.

DOWN 1. adj. Not working. "The up escalator is down." 2. TAKE DOWN, BRING DOWN: v. To deactivate, usually for repair work. See UP.

DPB (duh-pib') [from the PDP-10 instruction set] v. To plop something down in the middle.

DRAGON n. (MIT) A program similar to a "daemon" (q.v.), except that it is not invoked at all, but is instead used by the system to perform various secondary tasks. A typical example would be an accounting program, which keeps track of who is logged in, accumulates load- average statistics, etc. At MIT, all free TV's display a list of people logged in, where they are, what they're running, etc. along with some random picture (such as a unicorn, Snoopy, or the Enterprise) which is generated by the "NAME DRAGON". See PHANTOM.

DWIM [Do What I Mean] 1. adj. Able to guess, sometimes even correctly, what result was intended when provided with bogus input. Often suggested in jest as a desired feature for a complex program. A related term, more often seen as a verb, is DTRT (Do The Right Thing). 2. n. The INTERLISP function that attempts to accomplish this feat by correcting many of the more common errors. See HAIRY.

ENGLISH n. The source code for a program, which may be in any language, as opposed to BINARY. Usage: slightly obsolete, used mostly by old-time hackers, though recognizable in context. At MIT, directory SYSENG is where the "English" for system programs is kept, and SYSBIN, the binaries. SAIL has many such directories, but the canonical one is [CSP,SYS].

EPSILON [from standard mathematical notation for a small quantity] 1. n. A small quantity of anything. "The cost is epsilon." 2. adj. Very small, negligible; less than marginal (q.v.). "We can get this feature for epsilon cost." 3. WITHIN EPSILON OF: Close enough to be indistinguishable for all practical purposes.

EXCH (ex'chuh, ekstch) [from the PDP-10 instruction set] v. To exchange two things, each for the other.

EXCL (eks'cul) n. Abbreviation for "exclamation point". See BANG, SHRIEK, WOW.

EXE (ex'ee) See BIN.

FAULTY adj. Same denotation as "bagbiting", "bletcherous", "losing", q.v., but the connotation is much milder.

FEATURE n. 1. A surprising property of a program. Occasionally docu- mented. To call a property a feature sometimes means the author of the program did not consider the particular case, and the program makes an unexpected, although not strictly speaking an incorrect response. See BUG. "That's not a bug, that's a feature!" A bug can be changed to a feature by documenting it. 2. A well-known and beloved property; a facility. Sometimes features are planned, but are called crocks by others. An approximately correct spectrum:

(These terms are all used to describe programs or portions thereof, except for the first two, which are included for completeness.)

CRASH STOPPAGE BUG SCREW LOSS MISFEATURE

CROCK KLUGE HACK WIN FEATURE PERFECTION

(The last is never actually attained.)

FEEP 1. n. The soft bell of a display terminal (except for a VT-52!); a beep. 2. v. To cause the display to make a feep sound. TTY's do not have feeps. Alternate forms: BEEP, BLEEP, or just about anything suitably onomatopoeic. The term BREEDLE is sometimes heard at SAIL, where the terminal bleepers are not particularly "soft" (they sound more like the musical equivalent of sticking out one's tongue). The "feeper" on a VT-52 has been compared to the sound of a `52 Chevy stripping its gears.

FENCEPOST ERROR n. The discrete equivalent of a boundary condition. Often exhibited in programs by iterative loops. From the following problem: "If you build a fence 100 feet long with posts ten feet apart, how many posts do you need?" (Either 9 or 11 is a better answer than the obvious 10.)

FINE (WPI) adj. Good, but not good enough to be CUSPY. [The word FINE is used elsewhere, of course, but without the implicit comparison to the higher level implied by CUSPY.]

FLAG DAY [from a bit of Multics history involving a change in the ASCII character set originally scheduled for June 14, 1966] n. A software change which is neither forward nor backward compatible, and which is costly to make and costly to revert. "Can we install that without causing a flag day for all users?"

FLAKEY adj. Subject to frequent lossages. See LOSSAGE.

FLAME v. To speak incessantly and/or rabidly on some relatively uninteresting subject or with a patently ridiculous attitude. FLAME ON: v. To continue to flame. See RAVE. This punning reference to Marvel comics' Human Torch has been lost as recent usage completes the circle: "Flame on" now usually means "beginning of flame".

FLAP v. To unload a DECtape (so it goes flap, flap, flap...). Old hackers at MIT tell of the days when the disk was device 0 and microtapes were 1, 2,... and attempting to flap device 0 would instead start a motor banging inside a cabinet near the disk!

FLAVOR n. 1. Variety, type, kind. "DDT commands come in two flavors." See VANILLA. 2. The attribute of causing something to be FLAVORFUL. "This convention yields additional flavor by allowing one to..." 3. On the LispMachine, an object-oriented programming system ("flavors"); each class of object is a flavor.

FLAVORFUL adj. Aesthetically pleasing. See RANDOM and LOSING for antonyms. See also the entry for TASTE.

FLUSH v. 1. To delete something, usually superfluous. "All that nonsense has been flushed." Standard ITS terminology for aborting an output operation. 2. To leave at the end of a day's work (as opposed to leaving for a meal). "I'm going to flush now." "Time to flush." 3. To exclude someone from an activity.

FOO 1. [from Yiddish "feh" or the Anglo-Saxon "fooey!"] interj. Term of disgust. 2. [from FUBAR (Fucked Up Beyond All Recognition), from WWII, often seen as FOOBAR] Name used for temporary programs, or samples of three-letter names. Other similar words are BAR, BAZ (Stanford corruption of BAR), and rarely RAG. These have been used in Pogo as well. 3. Used very generally as a sample name for absolutely anything. The old `Smokey Stover' comic strips often included the word FOO, in particular on license plates of cars. MOBY FOO: See MOBY.

FRIED adj. 1. Non-working due to hardware failure; burnt out. 2. Of people, exhausted. Said particularly of those who continue to work in such a state. Often used as an explanation or excuse. "Yeah, I know that fix destroyed the file system, but I was fried when I put it in."

FROB 1. n. (MIT) The official Tech Model Railroad Club definition is "FROB = protruding arm or trunnion", and by metaphoric extension any somewhat small thing. See FROBNITZ. 2. v. Abbreviated form of FROBNICATE.

FROBNICATE v. To manipulate or adjust, to tweak. Derived from FROBNITZ (q.v.). Usually abbreviated to FROB. Thus one has the saying "to frob a frob". See TWEAK and TWIDDLE. Usage: FROB, TWIDDLE, and TWEAK sometimes connote points along a continuum. FROB connotes aimless manipulation; TWIDDLE connotes gross manipulation, often a coarse search for a proper setting; TWEAK connotes fine-tuning. If someone is turning a knob on an oscilloscope, then if he's carefully adjusting it he is probably tweaking it; if he is just turning it but looking at the screen he is probably twiddling it; but if he's just doing it because turning a knob is fun, he's frobbing it.

FROBNITZ, pl. FROBNITZEM (frob'nitsm) n. An unspecified physical object, a widget. Also refers to electronic black boxes. This rare form is usually abbreviated to FROTZ, or more commonly to FROB. Also used are FROBNULE, FROBULE, and FROBNODULE. Starting perhaps in 1979, FROBBOZ (fruh-bahz'), pl. FROBBOTZIM, has also become very popular, largely due to its exposure via the Adventure spin-off called Zork (Dungeon). These can also be applied to non-physical objects, such as data structures.

FROG (variant: PHROG) 1. interj. Term of disgust (we seem to have a lot of them). 2. Used as a name for just about anything. See FOO. 3. n. Of things, a crock. Of people, somewhere inbetween a turkey and a toad. 4. Jake Brown (FRG@SAIL). 5. FROGGY: adj. Similar to BAGBITING (q.v.), but milder. "This froggy program is taking forever to run!"

FROTZ 1. n. See FROBNITZ. 2. MUMBLE FROTZ: An interjection of very mild disgust.

FRY v. 1. To fail. Said especially of smoke-producing hardware failures. 2. More generally, to become non-working. Usage: never said of software, only of hardware and humans. See FRIED.

FTP (spelled out, NOT pronounced "fittip") 1. n. The File Transfer Protocol for transmitting files between systems on the ARPAnet. 2. v. To transfer a file using the File Transfer Program. "Lemme get this copy of Wuthering Heights FTP'd from SAIL."

FUDGE 1. v. To perform in an incomplete but marginally acceptable way, particularly with respect to the writing of a program. "I didn't feel like going through that pain and suffering, so I fudged it." 2. n. The resulting code.

FUDGE FACTOR n. A value or parameter that is varied in an ad hoc way to produce the desired result. The terms "tolerance" and "slop" are also used, though these usually indicate a one-sided leeway, such as a buffer which is made larger than necessary because one isn't sure exactly how large it needs to be, and it is better to waste a little space than to lose completely for not having enough. A fudge factor, on the other hand, can often be tweaked in more than one direction. An example might be the coefficients of an equation, where the coefficients are varied in an attempt to make the equation fit certain criteria.

GABRIEL [for Dick Gabriel, SAIL volleyball fanatic] n. An unnecessary (in the opinion of the opponent) stalling tactic, e.g., tying one's shoelaces or hair repeatedly, asking the time, etc. Also used to refer to the perpetrator of such tactics. Also, "pulling a Gabriel", "Gabriel mode".

GARBAGE COLLECT v., GARBAGE COLLECTION n. See GC.

GARPLY n. (Stanford) Another meta-word popular among SAIL hackers.

GAS [as in "gas chamber"] interj. 1. A term of disgust and hatred, implying that gas should be dispensed in generous quantities, thereby exterminating the source of irritation. "Some loser just reloaded the system for no reason! Gas!" 2. A term suggesting that someone or something ought to be flushed out of mercy. "The system's wedging every few minutes. Gas!" 3. v. FLUSH (q.v.). "You should gas that old crufty software." 4. GASEOUS adj. Deserving of being gassed. Usage: primarily used by Geoff Goodfellow at SRI, but spreading.

GC [from LISP terminology] 1. v. To clean up and throw away useless things. "I think I'll GC the top of my desk today." 2. To recycle, reclaim, or put to another use. 3. To forget. The implication is often that one has done so deliberately. 4. n. An instantiation of the GC process.

GEDANKEN [from Einstein's term "gedanken-experimenten", such as the standard proof that E=mc2] adj. An AI project which is written up in grand detail without ever being implemented to any great extent. Usually perpetrated by people who aren't very good hackers or find programming distasteful or are just in a hurry. A gedanken thesis is usually marked by an obvious lack of intuition about what is programmable and what is not and about what does and does not constitute a clear specification of a program-related concept such as an algorithm.

GLASS TTY n. A terminal which has a display screen but which, because of hardware or software limitations, behaves like a teletype or other printing terminal. An example is the ADM-3 (without cursor control). A glass tty can't do neat display hacks, and you can't save the output either.

GLITCH [from the Yiddish "glitshen", to slide] 1. n. A sudden interruption in electric service, sanity, or program function. Sometimes recoverable. 2. v. To commit a glitch. See GRITCH. 3. v. (Stanford) To scroll a display screen.

GLORK 1. interj. Term of mild surprise, usually tinged with outrage, as when one attempts to save the results of two hours of editing and finds that the system has just crashed. 2. Used as a name for just about anything. See FOO. 3. v. Similar to GLITCH (q.v.), but usually used reflexively. "My program just glorked itself."

GOBBLE v. To consume or to obtain. GOBBLE UP tends to imply "consume", while GOBBLE DOWN tends to imply "obtain". "The output spy gobbles characters out of a TTY output buffer." "I guess I'll gobble down a copy of the documentation tomorrow." See SNARF.

GORP (CMU) [perhaps from the generic term for dried hiker's food, stemming from the acronym "Good Old Raisins and Peanuts"] Another metasyntactic variable, like FOO and BAR.

GRIND v. 1. (primarily MIT) To format code, especially LISP code, by indenting lines so that it looks pretty. Hence, PRETTY PRINT, the generic term for such operations. 2. To run seemingly interminably, performing some tedious and inherently useless task. Similar to CRUNCH.

GRITCH 1. n. A complaint (often caused by a GLITCH (q.v.)). 2. v. To complain. Often verb-doubled: "Gritch gritch". 3. Glitch.

GROK [from the novel "Stranger in a Strange Land", by Robert Heinlein, where it is a Martian word meaning roughly "to be one with"] v. To understand, usually in a global sense.

GRONK [popularized by the cartoon strip "B.C." by Johnny Hart, but the word apparently predates that] v. 1. To clear the state of a wedged device and restart it. More severe than "to frob" (q.v.). 2. To break. "The teletype scanner was gronked, so we took the system down." 3. GRONKED: adj. Of people, the condition of feeling very tired or sick. 4. GRONK OUT: v. To cease functioning. Of people, to go home and go to sleep. "I guess I'll gronk out now; see you all tomorrow."

GROVEL v. To work interminably and without apparent progress. Often used with "over". "The compiler grovelled over my code." Compare GRIND and CRUNCH. Emphatic form: GROVEL OBSCENELY.

GRUNGY adj. Incredibly dirty or grubby. Anything which has been washed within the last year is not really grungy. Also used metaphorically; hence some programs (especially crocks) can be described as grungy.

GUBBISH [a portmanteau of "garbage" and "rubbish"?] n. Garbage; crap; nonsense. "What is all this gubbish?"

GUN [from the GUN command on ITS] v. To forcibly terminate a program or job (computer, not career). "Some idiot left a background process running soaking up half the cycles, so I gunned it."

HACK n. 1. Originally a quick job that produces what is needed, but not well. 2. The result of that job. 3. NEAT HACK: A clever technique. Also, a brilliant practical joke, where neatness is correlated with cleverness, harmlessness, and surprise value. Example: the Caltech Rose Bowl card display switch circa 1961. 4. REAL HACK: A crock (occasionally affectionate). v. 5. With "together", to throw something together so it will work. 6. To bear emotionally or physically. "I can't hack this heat!" 7. To work on something (typically a program). In specific sense: "What are you doing?" "I'm hacking TECO." In general sense: "What do you do around here?" "I hack TECO." (The former is time-immediate, the latter time-extended.) More generally, "I hack x" is roughly equivalent to "x is my bag". "I hack solid-state physics." 8. To pull a prank on. See definition 3 and HACKER (def #6). 9. v.i. To waste time (as opposed to TOOL). "Watcha up to?" "Oh, just hacking." 10. HACK UP (ON): To hack, but generally implies that the result is meanings 1-2. 11. HACK VALUE: Term used as the reason or motivation for expending effort toward a seemingly useless goal, the point being that the accomplished goal is a hack. For example, MacLISP has code to read and print roman numerals, which was installed purely for hack value. HAPPY HACKING: A farewell. HOW'S HACKING?: A friendly greeting among hackers. HACK HACK: A somewhat pointless but friendly comment, often used as a temporary farewell. [The word HACK doesn't really have 69 different meanings. In fact, HACK has only one meaning, an extremely subtle and profound one which defies articulation. Which connotation a given HACK-token has depends in similarly profound ways on the context. Similar comments apply to a couple other hacker jargon items, most notably RANDOM. - Agre]

HACKER [originally, someone who makes furniture with an axe] n. 1. A person who enjoys learning the details of programming systems and how to stretch their capabilities, as opposed to most users who prefer to learn only the minimum necessary. 2. One who programs enthusiastically, or who enjoys programming rather than just theorizing about programming. 3. A person capable of appreciating hack value (q.v.). 4. A person who is good at programming quickly. Not everything a hacker produces is a hack. 5. An expert at a particular program, or one who frequently does work using it or on it; example: "A SAIL hacker". (Definitions 1 to 5 are correlated, and people who fit them congregate.) 6. A malicious or inquisitive meddler who tries to discover information by poking around. Hence "password hacker", "network hacker".

HACKISH adj. Being or involving a hack. HACKISHNESS n.

HAIR n. The complications which make something hairy. "Decoding TECO commands requires a certain amount of hair." Often seen in the phrase INFINITE HAIR, which connotes extreme complexity.

HAIRY adj. 1. Overly complicated. "DWIM is incredibly hairy." 2. Incomprehensible. "DWIM is incredibly hairy." 3. Of people, high-powered, authoritative, rare, expert, and/or incomprehensible. Hard to explain except in context: "He knows this hairy lawyer who says there's nothing to worry about."

HAKMEM n. MIT AI Memo 239 (February 1972). A collection of neat mathematical and programming hacks contributed by many people at MIT and elsewhere.

HANDWAVE 1. v. To gloss over a complex point; to distract a listener; to support a (possibly actually valid) point with blatantly faulty logic. 2. n. The act of handwaving. "Boy, what a handwave!" The use of this word is often accompanied by gestures: both hands up, palms forward, swinging the hands in a vertical plane pivoting at the elbows and/or shoulders (depending on the magnitude of the handwave); alternatively, holding the forearms still while rotating the hands at the wrist to make them flutter. In context, the gestures alone can suffice as a remark.

HARDWARILY adv. In a way pertaining to hardware. "The system is hardwarily unreliable." The adjective "hardwary" is NOT used. See SOFTWARILY.

HELLO WALL See WALL.

HIRSUTE Occasionally used humorously as a synonym for HAIRY.

HOOK n. An extraneous piece of software or hardware included in order to simplify later additions or debug options. For instance, a program might execute a location that is normally a JFCL, but by changing the JFCL to a PUSHJ one can insert a debugging routine at that point.

HUMONGOUS, HUMUNGOUS See HUNGUS.

HUNGUS (hung'ghis) [perhaps related to current slang "humongous"; which one came first (if either) is unclear] adj. Large, unwieldy, usually unmanageable. "TCP is a hungus piece of code." "This is a hungus set of modifications."

IMPCOM See TELNET.

INFINITE adj. Consisting of a large number of objects; extreme. Used very loosely as in: "This program produces infinite garbage."

IRP (erp) [from the MIDAS pseudo-op which generates a block of code repeatedly, substituting in various places the car and/or cdr of the list(s) supplied at the IRP] v. To perform a series of tasks repeatedly with a minor substitution each time through. "I guess I'll IRP over these homework papers so I can give them some random grade for this semester."

JFCL (djif'kl or dja-fik'l) [based on the PDP-10 instruction that acts as a fast no-op] v. To cancel or annul something. "Why don't you jfcl that out?" [The licence plate on Geoff Goodfellow's BMW is JFCL.]

JIFFY n. 1. Interval of CPU time, commonly 1/60 second or 1 millisecond. 2. Indeterminate time from a few seconds to forever. "I'll do it in a jiffy" means certainly not now and possibly never.

JOCK n. Programmer who is characterized by large and somewhat brute force programs. The term is particularly well-suited for systems programmers.

J. RANDOM See RANDOM.

JRST (jerst) [based on the PDP-10 jump instruction] v. To suddenly change subjects. Usage: rather rare. "Jack be nimble, Jack be quick; Jack jrst over the candle stick."

JSYS (jay'sis), pl. JSI (jay'sigh) [Jump to SYStem] See UUO.

KLUGE (kloodj) alt. KLUDGE [from the German "kluge", clever] n. 1. A Rube Goldberg device in hardware or software. 2. A clever programming trick intended to solve a particular nasty case in an efficient, if not clear, manner. Often used to repair bugs. Often verges on being a crock. 3. Something that works for the wrong reason. 4. v. To insert a kluge into a program. "I've kluged this routine to get around that weird bug, but there's probably a better way." Also KLUGE UP. 5. KLUGE AROUND: To avoid by inserting a kluge. 6. (WPI) A feature which is implemented in a RUDE manner.

LDB (lid'dib) [from the PDP-10 instruction set] v. To extract from the middle.

LIFE n. A cellular-automata game invented by John Horton Conway, and first introduced publicly by Martin Gardner (Scientific American, October 1970).

LINE FEED (standard ASCII terminology) 1. v. To feed the paper through a terminal by one line (in order to print on the next line). 2. n. The "character" which causes the terminal to perform this action.

LINE STARVE (MIT) Inverse of LINE FEED.

LOGICAL [from the technical term "logical device", wherein a physical device is referred to by an arbitrary name] adj. Understood to have a meaning not necessarily corresponding to reality. E.g., if a person who has long held a certain post (e.g., Les Earnest at SAIL) left and was replaced, the replacement would for a while be known as the "logical Les Earnest". The word VIRTUAL is also used. At SAIL, "logical" compass directions denote a coordinate system in which "logical north" is toward San Francisco, "logical west" is toward the ocean, etc., even though logical north varies between physical (true) north near SF and physical west near San Jose. (The best rule of thumb here is that El Camino Real by definition always runs logical north-and-south.)



This post first appeared on Kursus Komputer Karawang - Cikampek, please read the originial post: here

Share the post

The Original Hacker's Dictionary

×

Subscribe to Kursus Komputer Karawang - Cikampek

Get updates delivered right to your inbox!

Thank you for your subscription

×