The Hacker's Dictionary

Versió HTML de Lluís de Yzaguirre i Maura

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


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.
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.

quantifiers
=========== : In techspeak and jargon, the standard metric
prefixes used in the SI (Syst`eme 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 1000^(-1), 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.]

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.
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. See also nickle, nybble, "byte", dynner.
ques
==== /kwes/ 1. n. The question mark character (`?', ASCII
0111111). 2. interj. What? Also frequently verb-doubled as
"Ques ques?" See wall.
quick-and-dirty
=============== adj. 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.
quine
===== /kwi:n/ [from the name of the logician Willard V. Quine, via
Douglas Hofstadter] n. 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. 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. Some infamous Obfuscated C Contest entries have been
quines that reproduced in exotic ways.

quote chapter and verse
======================= [by analogy with the mainstream phrase]
v. 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).
quotient
======== n. See coefficient of X.
quux
==== /kwuhks/ [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.
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, ....
QWERTY
====== /kwer'tee/ [from the keycaps at the upper left] adj.
Pertaining to a standard English-language typewriter keyboard
(sometimes called the Sholes keyboard after its inventor), as
opposed to Dvorak or foreign-language 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.