Chapter V: Rare: book (3)
:canonical: [historically, `according to religious law'] adj. The
usual or standard state or manner of something. This word has a
somewhat more technical meaning in mathematics. Two formulas such
as 9 + x and x + 9 are said to be equivalent because
they mean the same thing, but the second one is in `canonical
form' because it is written in the usual way, with the highest
power of x first. Usually there are fixed rules you can use
to decide whether something is in canonical form. The jargon
meaning, a relaxation of the technical meaning, acquired its
present loading in computer-science culture largely through its
prominence in Alonzo Church's work in computation theory and
mathematical logic (see {Knights of the Lambda Calculus}).
Compare {vanilla}.
This word has an interesting history. Non-technical academics do
not use the adjective `canonical' in any of the senses defined
above with any regularity; they do however use the nouns `canon'
and `canonicity' (not *canonicalness or *canonicality). The
`canon' of a given author is the complete body of authentic works
by that author (this usage is familiar to Sherlock Holmes fans as
well as to literary scholars). `*The* canon' is the body of
works in a given field (e.g., works of literature, or of art, or of
music) deemed worthwhile for students to study and for scholars to
investigate.
The word `canon' derives ultimately from the Greek
`kanon'
(akin to the English `cane') referring to a reed. Reeds were used
for measurement, and in Latin and later Greek the word `canon'
meant a rule or a standard. The establishment of a canon of
scriptures within Christianity was meant to define a standard or a
rule for the religion. The above non-techspeak academic usages
stem from this instance of a defined and accepted body of work.
Alongside this usage was the promulgation of `canons' (`rules')
for the government of the Catholic Church. The techspeak usages
("according to religious law") derive from this use of the Latin
`canon'.
Hackers invest this term with a playfulness that makes an ironic
contrast with its historical meaning. A true story: One Bob
Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use
of jargon. Over his loud objections, GLS and RMS made a point of
using it 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: "Bob just used `canonical' in the
canonical way."
Of course, canonicality depends on context, but it is implicitly
defined as the way *hackers* normally expect things to be.
Thus, a hacker may claim with a straight face that `according to
religious law' is *not* the canonical meaning of `canonical'.
:card: n. 1. An electronic printed-circuit board (see also {tall
card}, {short card}. 2. obs. Syn. {{punched card}}.
:card walloper: n. An EDP programmer who grinds out batch programs
that do stupid things like print people's paychecks. Compare
{code grinder}. See also {{punched card}}, {eighty-column
mind}.
:careware: /keir'weir/ n. {Shareware} for which either the
author suggests that some payment be made to a nominated charity
or a levy directed to charity is included on top of the
distribution charge. Syn. {charityware}; compare
{crippleware}, sense 2.
:cargo cult programming: n. A style of (incompetent) programming
dominated by ritual inclusion of code or program structures that
serve no real purpose. A cargo cult programmer will usually
explain the extra code as a way of working around some bug
encountered in the past, but usually neither the bug nor the reason
the code apparently avoided the bug was ever fully understood
(compare {shotgun debugging}, {voodoo programming}).
The term `cargo cult' is a reference to aboriginal religions that
grew up in the South Pacific after World War II. The practices of
these cults center on building elaborate mockups of airplanes and
military style landing strips in the hope of bringing the return of
the god-like airplanes that brought such marvelous cargo during the
war. Hackish usage probably derives from Richard Feynman's
characterization of certain practices as "cargo cult science" in
his book `Surely You're Joking, Mr. Feynman' (W. W. Norton
& Co, New York 1985, ISBN 0-393-01921-7).
:cascade: n. 1. A huge volume of spurious error-message output
produced by a compiler with poor error recovery. This can happen
when one initial error throws the parser out of synch so that much
of the remaining program text is interpreted as garbaged or
ill-formed. 2. A chain of USENET followups each adding some
trivial variation of riposte to the text of the previous one, all
of which is reproduced in the new message; an {include war} in which
the object is to create a sort of communal graffito.
:case and paste: [from `cut and paste'] n. 1. The addition of a new
{feature} to an existing system by selecting the code from an
existing feature and pasting it in with minor changes. Common in
telephony circles because most operations in a telephone switch are
selected using `case' statements. Leads to {software bloat}.
In some circles of EMACS users this is called `programming by
Meta-W', because Meta-W is the EMACS command for copying a block of
text to a kill buffer in preparation to pasting it in elsewhere.
The term is condescending, implying that the programmer is acting
mindlessly rather than thinking carefully about what is required to
integrate the code for two similar cases.
:casters-up mode: [IBM] n. Yet another synonym for `broken' or
`down'. Usually connotes a major failure. A system (hardware or
software) which is `down' may be already being restarted before
the failure is noticed, whereas one which is `casters up' is
usually a good excuse to take the rest of the day off (as long as
you're not responsible for fixing it).
:casting the runes: n. What a {guru} does when you ask him or
her to run a particular program and type at it because it never
works for anyone else; esp. used when nobody can ever see what
the guru is doing different from what J. Random Luser does.
Compare {incantation}, {runes}, {examining the entrails};
also see the AI koan about Tom Knight in "{A Selection
of AI Koans}" ({appendix A}).
:cat: [from `catenate' via {{UNIX}} `cat(1)'] vt.
1. [techspeak] To spew an entire file to the screen or some other
output sink without pause. 2. By extension, to dump large amounts
of data at an unprepared target or with no intention of browsing it
carefully. Usage: considered silly. Rare outside UNIX sites. See
also {dd}, {BLT}.
Among UNIX fans, `cat(1)' is considered an excellent example
of user-interface design, because it outputs the file contents
without such verbosity as spacing or headers between the files, and
because it does not require the files to consist of lines of text,
but works with any sort of data.
Among UNIX-haters, `cat(1)' is considered the {canonical}
example of *bad* user-interface design. This because it is more
often used to {blast} a file to standard output than to
concatenate two files. The name `cat' for the former
operation is just as unintuitive as, say, LISP's {cdr}.
Of such oppositions are {holy wars} made....
:catatonic: adj. Describes a condition of suspended animation in
which something is so {wedged} or {hung} that it makes no
response. If you are typing on a terminal and suddenly the
computer doesn't even echo the letters back to the screen as you
type, let alone do what you're asking it to do, then the computer
is suffering from catatonia (possibly because it has crashed).
"There I was in the middle of a winning game of {nethack} and it
went catatonic on me! Aaargh!" Compare {buzz}.
:cd tilde: /see-dee til-d*/ vi. To go home. From the UNIX
C-shell and Korn-shell command `cd ~', which takes
one `$HOME'. By extension, may be used with other arguments;
thus, over an electronic chat link, `cd ~coffee'
would mean "I'm going to the coffee machine."
:cdr: /ku'dr/ or /kuh'dr/ [from LISP] vt. To skip past the
first item from a list of things (generalized from the LISP
operation on binary tree structures, which returns a list
consisting of all but the first element of its argument). In the
form `cdr down', to trace down a list of elements: "Shall we
cdr down the agenda?" Usage: silly. See also {loop through}.
Historical note: The instruction format of the IBM 7090 that hosted
the original LISP implementation featured two 15-bit fields called
the `address' and `decrement' parts. The term `cdr' was originally
`Contents of Decrement part of Register'. Similarly, `car' stood
for `Contents of Address part of Register'.
The cdr and car operations have since become bases for
formation of compound metaphors in non-LISP contexts. GLS recalls,
for example, a programming project in which strings were
represented as linked lists; the get-character and skip-character
operations were of course called CHAR and CHDR.
:chad: /chad/ n. 1. The perforated edge strips on printer paper, after
they have been separated from the printed portion. Also called
{selvage} and {perf}. 2. obs. The confetti-like paper bits punched
out of cards or paper tape; this was also called `chaff', `computer
confetti', and `keypunch droppings'.
Historical note: One correspondent believes `chad' (sense 2)
derives from the Chadless keypunch (named for its inventor), which
cut little u-shaped tabs in the card to make a hole when the tab
folded back, rather than punching out a circle/rectangle; it was
clear that if the Chadless keypunch didn't make them, then the
stuff that other keypunches made had to be `chad'.
:chad box: n. {Iron Age} card punches contained boxes inside them,
about the size of a lunchbox (or in some models a large
wastebasket), that held the {chad} (sense 2). You had to open
the covers of the card punch periodically and empty the chad box.
The {bit bucket} was notionally the equivalent device in the CPU
enclosure, which was typically across the room in another great
gray-and-blue box.
:chain: 1. [orig. from BASIC's `CHAIN' statement] vi. To hand
off execution to a child or successor without going through the
{OS} command interpreter that invoked it. The state of the
parent program is lost and there is no returning to it. Though
this facility used to be common on memory-limited micros and is
still widely supported for backward compatibility, the jargon usage
is semi-obsolescent; in particular, most UNIX programmers will
think of this as an {exec}. Oppose the more modern
{subshell}. 2. A series of linked data areas within an
operating system or application. `Chain rattling' is the process
of repeatedly running through the linked data areas searching for
one which is of interest to the executing program. The implication
is that there is a very large number of links on the chain.
:channel: [IRC] n. The basic unit of discussion on {IRC}. Once
one joins a channel, everything one types is read by others on that
channel. Channels can either be named with numbers or with strings
that begin with a `#' sign, and can have topic descriptions (which
are generally irrelevant to the actual subject of discussion).
Some notable channels are `#initgame', `#hottub', and
`#report'. At times of international crisis, `#report'
has hundreds of members, some of whom take turns listening to
various news services and summarizing the news, or in some cases,
giving first-hand accounts of the action (e.g., Scud missile
attacks in Tel Aviv during the Gulf War in 1991).
:channel hopping: [IRC, GEnie] n. To rapidly switch channels on
{IRC}, or GEnie chat board, just as a social butterfly might hop
from one group to another at a party. This may derive from the TV
watcher's idiom `channel surfing'.
:channel op: /chan'l op/ [IRC] n. Someone who is endowed with
privileges on a particular {IRC} channel; commonly abbreviated
`chanop' or `CHOP'. These privileges include the right to
{kick} users, to change various status bits, and to make others
into CHOPs.
:chanop: /chan'-op/ [IRC] n. See {channel op}.
:char: /keir/ or /char/; rarely, /kar/ n. Shorthand for
`character'. Esp. used by C programmers, as `char' is
C's typename for character data.
:charityware: /char'it-ee-weir`/ n. Syn. {careware}.
:chase pointers: 1. vi. To go through multiple levels of
indirection, as in traversing a linked list or graph structure.
Used esp. by programmers in C, where explicit pointers are a very
common data type. This is techspeak, but it remains jargon when
used of human networks. "I'm chasing pointers. Bob said you
could tell me who to talk to about...." See {dangling
pointer} and {snap}. 2. [Cambridge] `pointer chase' or
`pointer hunt': The process of going through a dump
(interactively or on a large piece of paper printed with hex
{runes}) following dynamic data-structures. Used only in a
debugging context.
:check: n. A hardware-detected error condition, most commonly used
to refer to actual hardware failures rather than software-induced
traps. E.g., a `parity check' is the result of a
hardware-detected parity error. Recorded here because it's often
humorously extended to non-technical problems. For example, the
term `child check' has been used to refer to the problems caused
by a small child who is curious to know what happens when s/he
presses all the cute buttons on a computer's console (of course,
this particular problem could have been prevented with
{molly-guard}s).
:chemist: [Cambridge] n. Someone who wastes computer time on
{number-crunching} when you'd far rather the machine were doing
something more productive, such as working out anagrams of your
name or printing Snoopy calendars or running {life} patterns.
May or may not refer to someone who actually studies chemistry.
:Chernobyl chicken: n. See {laser chicken}.
:Chernobyl packet: /cher-noh'b*l pak'*t/ n. A network packet that
induces {network meltdown} (the result of a {broadcast
storm}), in memory of the April 1986 nuclear accident at Chernobyl
in Ukraine. The typical scenario involves an IP Ethernet datagram
that passes through a gateway with both source and destination
Ether and IP address set as the respective broadcast addresses for
the subnetworks being gated between. Compare {Christmas tree
packet}.
:chicken head: [Commodore] n. The Commodore Business Machines logo,
which strongly resembles a poultry part. Rendered in ASCII as
`C='. With the arguable exception of the Amiga (see {amoeba}),
Commodore's machines are notoriously crocky little {bitty box}es
(see also {PETSCII}). Thus, this usage may owe something to
Philip K. Dick's novel `Do Androids Dream of Electric Sheep?'
(the basis for the movie `Blade Runner'), in which a
`chickenhead' is a mutant with below-average intelligence.
:chiclet keyboard: n. A keyboard with small rectangular or
lozenge-shaped rubber or plastic keys that look like pieces of
chewing gum. (Chiclets is the brand name of a variety of chewing
gum that does in fact resemble the keys of chiclet keyboards.)
Used esp. to describe the original IBM PCjr keyboard. Vendors
unanimously liked these because they were cheap, and a lot of early
portable and laptop products got launched using them. Customers
rejected the idea with almost equal unanimity, and chiclets are not
often seen on anything larger than a digital watch any more.
:chine nual: /sheen'yu-*l/ [MIT] n.,obs. The Lisp Machine Manual, so
called because the title was wrapped around the cover so only those
letters showed on the front.
:Chinese Army technique: n. Syn. {Mongolian Hordes technique}.
:choke: v. 1. To reject input, often ungracefully. "NULs make System
V's `lpr(1)' choke." "I tried building an {EMACS} binary to
use {X}, but `cpp(1)' choked on all those `#define's."
See {barf}, {gag}, {vi}. 2. [MIT] More generally, to fail at any
endeavor, but with some flair or bravado; the popular definition is
"to snatch defeat from the jaws of victory."
:chomp: vi. To {lose}; specifically, 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. To perform it, hold the four fingers together
and place the thumb against their tips. Now open and close your
hand rapidly to suggest a biting action (much like what Pac-Man
does in the classic video game, though this pantomime seems to
predate that). The gesture alone means `chomp chomp' (see
"{Verb Doubling}" in the "{Jargon
Construction}" section of the Prependices). The hand may be
pointed at the object of complaint, and for real emphasis you can
use both hands at once. Doing this to a person is equivalent to
saying "You chomper!" If you point the gesture at yourself, it
is a humble but humorous admission of some failure. You might do
this if someone told you that a program you had written had failed
in some surprising way and you felt dumb for not having anticipated
it.
:chomper: n. Someone or something that is chomping; a loser. See
{loser}, {bagbiter}, {chomp}.
:CHOP: /chop/ [IRC] n. See {channel op}.
:Christmas tree: n. A kind of RS-232 line tester or breakout box
featuring rows of blinking red and green LEDs suggestive of
Christmas lights.
:Christmas tree packet: n. A packet with every single option set for
whatever protocol is in use. See {kamikaze packet}, {Chernobyl
packet}. (The term doubtless derives from a fanciful image of each
little option bit being represented by a different-colored light
bulb, all turned on.)
:chrome: [from automotive slang via wargaming] n. Showy features
added to attract users but contributing little or nothing to
the power of a system. "The 3D icons in Motif are just chrome,
but they certainly are *pretty* chrome!" Distinguished from
{bells and whistles} by the fact that the latter are usually
added to gratify developers' own desires for featurefulness.
Often used as a term of contempt.
:chug: vi. To run slowly; to {grind} or {grovel}. "The disk is
chugging like crazy."
:Church of the SubGenius: n. A mutant offshoot of
{Discordianism} launched in 1981 as a spoof of fundamentalist
Christianity by the `Reverend' Ivan Stang, a brilliant satirist
with a gift for promotion. Popular among hackers as a rich source
of bizarre imagery and references such as "Bob" the divine
drilling-equipment salesman, the Benevolent Space Xists, and the
Stark Fist of Removal. Much SubGenius theory is concerned with the
acquisition of the mystical substance or quality of `slack'.
:Cinderella Book: [CMU] n. `Introduction to Automata Theory,
Languages, and Computation', by John Hopcroft and Jeffrey Ullman,
(Addison-Wesley, 1979). So called because the cover depicts a girl
(putatively Cinderella) sitting in front of a Rube Goldberg device
and holding a rope coming out of it. The back cover depicts the
girl with the device in shambles after she has pulled on the rope.
See also {{book titles}}.
:CI$: // n. Hackerism for `CIS', CompuServe Information Service.
The dollar sign refers to CompuServe's rather steep line charges.
Often used in {sig block}s just before a CompuServe address.
Syn. {Compu$erve}.
:Classic C: /klas'ik C/ [a play on `Coke Classic'] n. The
C programming language as defined in the first edition of {K&R},
with some small additions. It is also known as `K&R C'. The name
came into use while C was being standardized by the ANSI X3J11
committee. Also `C Classic'. This is sometimes applied
elsewhere: thus, `X Classic', where X = Star Trek (referring to the
original TV series) or X = PC (referring to IBM's ISA-bus machines
as opposed to the PS/2 series). This construction is especially
used of product series in which the newer versions are considered
serious losers relative to the older ones.
:clean: 1. adj. Used of hardware or software designs, implies
`elegance in the small', that is, a design or implementation that
may not hold any surprises but does things in a way that is
reasonably intuitive and relatively easy to comprehend from the
outside. The antonym is `grungy' or {crufty}. 2. v. To remove
unneeded or undesired files in a effort to reduce clutter: "I'm
cleaning up my account." "I cleaned up the garbage and now have
100 Meg free on that partition."
:CLM: /C-L-M/ [Sun: `Career Limiting Move'] 1. n. An action
endangering one's future prospects of getting plum projects and
raises, and possibly one's job: "His Halloween costume was a
parody of his manager. He won the prize for `best CLM'."
2. adj. Denotes extreme severity of a bug, discovered by a
customer and obviously missed earlier because of poor testing:
"That's a CLM bug!"
:clobber: vt. To overwrite, usually unintentionally: "I walked off
the end of the array and clobbered the stack." Compare {mung},
{scribble}, {trash}, and {smash the stack}.
:clocks: n. Processor logic cycles, so called because each
generally corresponds to one clock pulse in the processor's timing.
The relative execution times of instructions on a machine are
usually discussed in clocks rather than absolute fractions of a
second; one good reason for this is that clock speeds for various
models of the machine may increase as technology improves, and it
is usually the relative times one is interested in when discussing
the instruction set. Compare {cycle}.
:clone: n. 1. An exact duplicate: "Our product is a clone of
their product." Implies a legal reimplementation from
documentation or by reverse-engineering. Also connotes lower
price. 2. A shoddy, spurious copy: "Their product is a
clone of our product." 3. A blatant ripoff, most likely violating
copyright, patent, or trade secret protections: "Your
product is a clone of my product." This use implies legal
action is pending. 4. A `PC clone'; a PC-BUS/ISA or
EISA-compatible 80x86-based microcomputer (this use is sometimes
spelled `klone' or `PClone'). These invariably have much
more bang for the buck than the IBM archetypes they resemble.
5. In the construction `UNIX clone': An OS designed to deliver
a UNIX-lookalike environment without UNIX license fees, or with
additional `mission-critical' features such as support for
real-time programming. 6. v. To make an exact copy of something.
"Let me clone that" might mean "I want to borrow that paper so I
can make a photocopy" or "Let me get a copy of that file before
you {mung} it".
:clover key: [Mac users] n. See {feature key}.
:clustergeeking: /kluh'st*r-gee`king/ [CMU] n. Spending more time
at a computer cluster doing CS homework than most people spend
breathing.
:COBOL: /koh'bol/ [COmmon Business-Oriented Language] n.
(Synonymous with {evil}.) A weak, verbose, and flabby language
used by {card walloper}s to do boring mindless things on
{dinosaur} mainframes. Hackers believe that all COBOL
programmers are {suit}s or {code grinder}s, and no
self-respecting hacker will ever admit to having learned the
language. Its very name is seldom uttered without ritual
expressions of disgust or horror. See also {fear and loathing},
{software rot}.
:COBOL fingers: /koh'bol fing'grz/ n. Reported from Sweden, a
(hypothetical) disease one might get from coding in COBOL. The
language requires code verbose beyond all reason; thus it is
alleged that programming too much in COBOL causes one's fingers to
wear down to stubs by the endless typing. "I refuse to type in
all that source code again; it would give me COBOL fingers!"
:code grinder: n. 1. A {suit}-wearing minion of the sort hired in
legion strength by banks and insurance companies to implement
payroll packages in RPG and other such unspeakable horrors. In its
native habitat, the code grinder often removes the suit jacket to
reveal an underplumage consisting of button-down shirt (starch
optional) and a tie. In times of dire stress, the sleeves (if
long) may be rolled up and the tie loosened about half an inch. It
seldom helps. The {code grinder}'s milieu is about as far from
hackerdom as one can get and still touch a computer; the term
connotes pity. See {Real World}, {suit}. 2. Used of or to a
hacker, a really serious slur on the person's creative ability;
connotes a design style characterized by primitive technique,
rule-boundedness, {brute force}, and utter lack of imagination.
Compare {card walloper}; contrast {hacker}, {real
programmer}.
:code police: [by analogy with George Orwell's `thought police'] n.
A mythical team of Gestapo-like storm troopers that might burst
into one's office and arrest one for violating programming style
rules. May be used either seriously, to underline a claim that a
particular style violation is dangerous, or ironically, to suggest
that the practice under discussion is condemned mainly by
anal-retentive {weenie}s. "Dike out that goto or the code
police will get you!" The ironic usage is perhaps more common.
:codewalker: n. A program component that traverses other programs for
a living. Compilers have codewalkers in their front ends; so do
cross-reference generators and some database front ends. Other
utility programs that try to do too much with source code may turn
into codewalkers. As in "This new `vgrind' feature would require a
codewalker to implement."
:coefficient of X: n. Hackish speech makes rather heavy use of
pseudo-mathematical metaphors. Four particularly important ones
involve the terms `coefficient', `factor', `index', and
`quotient'. They are often loosely applied to things you
cannot really be quantitative about, but there are subtle
distinctions among them that convey information about the way the
speaker mentally models whatever he or she is describing.
`Foo factor' and `foo quotient' tend to describe something for
which the issue is one of presence or absence. The canonical
example is {fudge factor}. It's not important how much you're
fudging; the term simply acknowledges that some fudging is needed.
You might talk of liking a movie for its silliness factor.
Quotient tends to imply that the property is a ratio of two
opposing factors: "I would have won except for my luck quotient."
This could also be "I would have won except for the luck factor",
but using *quotient* emphasizes that it was bad luck
overpowering good luck (or someone else's good luck overpowering
your own).
`Foo index' and `coefficient of foo' both tend to imply
that foo is, if not strictly measurable, at least something that
can be larger or smaller. Thus, you might refer to a paper or
person as having a `high bogosity index', whereas you would be less
likely to speak of a `high bogosity factor'. `Foo index' suggests
that foo is a condensation of many quantities, as in the mundane
cost-of-living index; `coefficient of foo' suggests that foo is a
fundamental quantity, as in a coefficient of friction. The choice
between these terms is often one of personal preference; e.g., some
people might feel that bogosity is a fundamental attribute and thus
say `coefficient of bogosity', whereas others might feel it is a
combination of factors and thus say `bogosity index'.
:cokebottle: /kohk'bot-l/ n. Any very unusual character,
particularly one you can't type because it it isn't on your
keyboard. MIT people used to complain about the
`control-meta-cokebottle' commands at SAIL, and SAIL people
complained right back about the `{altmode}-altmode-cokebottle'
commands at MIT. After the demise of the {space-cadet
keyboard}, `cokebottle' faded away as serious usage, but was
often invoked humorously to describe an (unspecified) weird or
non-intuitive keystroke command. It may be due for a second
inning, however. The OSF/Motif window manager, `mwm(1)', has
a reserved keystroke for switching to the default set of
keybindings and behavior. This keystroke is (believe it or not)
`control-meta-bang' (see {bang}). Since the exclamation point
looks a lot like an upside down Coke bottle, Motif hackers have
begun referring to this keystroke as `cokebottle'. See also
{quadruple bucky}.
:cold boot: n. See {boot}.
:COME FROM: n. A semi-mythical language construct dual to the `go
to'; `COME FROM' <label> would cause the referenced label to
act as a sort of trapdoor, so that if the program ever reached it
control would quietly and {automagically} be transferred to the
statement following the `COME FROM'. `COME FROM' was
first proposed in R.L. Clark's "A Linguistic Contribution to
GOTO-less programming", which appeared in a 1973 {Datamation}
issue (and was reprinted in the April 1984 issue of
`Communications of the ACM'). This parodied the then-raging
`structured programming' {holy wars} (see {considered
harmful}). Mythically, some variants are the `assigned COME
FROM' and the `computed COME FROM' (parodying some nasty control
constructs in FORTRAN and some extended BASICs). Of course,
multi-tasking (or non-determinism) could be implemented by having
more than one `COME FROM' statement coming from the same
label.
In some ways the FORTRAN `DO' looks like a `COME FROM'
statement. After the terminating statement number/`CONTINUE'
is reached, control continues at the statement following the DO.
Some generous FORTRANs would allow arbitrary statements (other than
`CONTINUE') for the statement, leading to examples like:
DO 10 I=1,LIMIT
C imagine many lines of code here, leaving the
C original DO statement lost in the spaghetti...
WRITE(6,10) I,FROB(I)
10 FORMAT(1X,I5,G10.4)
in which the trapdoor is just after the statement labeled 10.
(This is particularly surprising because the label doesn't appear
to have anything to do with the flow of control at all!)
While sufficiently astonishing to the unsuspecting reader, this
form of `COME FROM' statement isn't completely general. After
all, control will eventually pass to the following statement. The
implementation of the general form was left to Univac FORTRAN,
ca. 1975 (though a roughly similar feature existed on the IBM 7040
ten years earlier). The statement `AT 100' would perform a
`COME FROM 100'. It was intended strictly as a debugging aid,
with dire consequences promised to anyone so deranged as to use it
in production code. More horrible things had already been
perpetrated in production languages, however; doubters need only
contemplate the `ALTER' verb in {COBOL}.
`COME FROM' was supported under its own name for the first
time 15 years later, in C-INTERCAL (see {INTERCAL},
{retrocomputing}); knowledgeable observers are still reeling
from the shock.
:comm mode: /kom mohd/ [ITS: from the feature supporting on-line
chat; the term may spelled with one or two m's] Syn. for {talk
mode}.
:command key: [Mac users] n. Syn. {feature key}.
:comment out: vt. To surround a section of code with comment
delimiters or to prefix every line in the section with a comment
marker; this prevents it from being compiled or interpreted. Often
done when the code is redundant or obsolete, but you want to leave
it in the source to make the intent of the active code clearer;
also when the code in that section is broken and you want to bypass
it in order to debug some other part of the code. Compare
{condition out}, usually the preferred technique in languages
(such as {C}) that make it possible.
:Commonwealth Hackish:: n. Hacker jargon as spoken outside
the U.S., esp. in the British Commonwealth. It is reported that
Commonwealth speakers are more likely to pronounce truncations like
`char' and `soc', etc., as spelled (/char/, /sok/), as
opposed to American /keir/ and /sohsh/. Dots in {newsgroup}
names tend to be pronounced more often (so soc.wibble is /sok dot
wib'l/ rather than /sohsh wib'l/). The prefix {meta} may be
pronounced /mee't*/; similarly, Greek letter beta is often
/bee't*/, zeta is often /zee't*/, and so forth. Preferred
{metasyntactic variable}s include {blurgle}, `eek',
`ook', `frodo', and `bilbo'; `wibble',
`wobble', and in emergencies `wubble'; `banana',
`wombat', `frog', {fish}, and so on and on (see
{foo}, sense 4).
Alternatives to verb doubling include suffixes `-o-rama',
`frenzy' (as in feeding frenzy), and `city' (examples: "barf
city!" "hack-o-rama!" "core dump frenzy!"). Finally, note
that the American terms `parens', `brackets', and `braces' for (),
[], and {} are uncommon; Commonwealth hackish prefers
`brackets', `square brackets', and `curly brackets'. Also, the
use of `pling' for {bang} is common outside the United States.
See also {attoparsec}, {calculator}, {chemist},
{console jockey}, {fish}, {go-faster stripes},
{grunge}, {hakspek}, {heavy metal}, {leaky heap},
{lord high fixer}, {loose bytes}, {muddie}, {nadger},
{noddy}, {psychedelicware}, {plingnet}, {raster
blaster}, {RTBM}, {seggie}, {spod}, {sun lounge},
{terminal junkie}, {tick-list features}, {weeble},
{weasel}, {YABA}, and notes or definitions under {Bad
Thing}, {barf}, {bogus}, {bum}, {chase pointers},
{cosmic rays}, {crippleware}, {crunch}, {dodgy},
{gonk}, {hamster}, {hardwarily}, {mess-dos},
{nybble}, {proglet}, {root}, {SEX}, {tweak}, and
{xyzzy}.
:compact: adj. Of a design, describes the valuable property that it
can all be apprehended at once in one's head. This generally means
the thing created from the design can be used with greater facility
and fewer errors than an equivalent tool that is not compact.
Compactness does not imply triviality or lack of power; for
example, C is compact and FORTRAN is not, but C is more powerful
than FORTRAN. Designs become non-compact through accreting
{feature}s and {cruft} that don't merge cleanly into the
overall design scheme (thus, some fans of {Classic C} maintain
that ANSI C is no longer compact).
:compiler jock: n. See {jock} (sense 2).
:compress: [UNIX] vt. When used without a qualifier, generally
refers to {crunch}ing of a file using a particular
C implementation of compression by James A. Woods et al. and
widely circulated via {USENET}; use of {crunch} itself in
this sense is rare among UNIX hackers. Specifically, compress is
built around the Lempel-Ziv-Welch algorithm as described in "A
Technique for High Performance Data Compression", Terry A. Welch,
`IEEE Computer', vol. 17, no. 6 (June 1984), pp. 8-19.
:Compu$erve: n. See {CI$}. The synonyms CompuSpend and
Compu$pend are also reported.
:computer confetti: n. Syn. {chad}. Though this term is common,
this use of punched-card chad is not a good idea, as the pieces are
stiff and have sharp corners that could injure the eyes. GLS
reports that he once attended a wedding at MIT during which he and
a few other guests enthusiastically threw chad instead of rice. The
groom later grumbled that he and his bride had spent most of the
evening trying to get the stuff out of their hair.
:computer geek: n. One who eats (computer) bugs for a living. One
who fulfills all the dreariest negative stereotypes about hackers:
an asocial, malodorous, pasty-faced monomaniac with all the
personality of a cheese grater. Cannot be used by outsiders
without implied insult to all hackers; compare black-on-black usage
of `nigger'. A computer geek may be either a fundamentally
clueless individual or a proto-hacker in {larval stage}. Also
called `turbo nerd', `turbo geek'. See also {propeller head},
{clustergeeking}, {geek out}, {wannabee}, {terminal
junkie}, {spod}, {weenie}.
:computron: /kom'pyoo-tron`/ n. 1. A notional unit of computing
power combining instruction speed and storage capacity, dimensioned
roughly in instructions-per-second times megabytes-of-main-store
times megabytes-of-mass-storage. "That machine can't run GNU
EMACS, it doesn't have enough computrons!" This usage is usually
found in metaphors that treat computing power as a fungible
commodity good, like a crop yield or diesel horsepower. See
{bitty box}, {Get a real computer!}, {toy}, {crank}.
2. A mythical subatomic particle that bears the unit quantity of
computation or information, in much the same way that an electron
bears one unit of electric charge (see also {bogon}). An
elaborate pseudo-scientific theory of computrons has been developed
based on the physical fact that the molecules in a solid object
move more rapidly as it is heated. It is argued that an object
melts because the molecules have lost their information about where
they are supposed to be (that is, they have emitted computrons).
This explains why computers get so hot and require air
conditioning; they use up computrons. Conversely, it should be
possible to cool down an object by placing it in the path of a
computron beam. It is believed that this may also explain why
machines that work at the factory fail in the computer room: the
computrons there have been all used up by the other hardware.
(This theory probably owes something to the "Warlock" stories
by Larry Niven, the best known being "What Good is a Glass
Dagger?", in which magic is fueled by an exhaustible natural
resource called `mana'.)
:condition out: vt. To prevent a section of code from being compiled
by surrounding it with a conditional-compilation directive whose
condition is always false. The {canonical} examples are `#if
0' (or `#ifdef notdef', though some find this {bletcherous})
and `#endif' in C. Compare {comment out}.
:condom: n. 1. The protective plastic bag that accompanies 3.5-inch
microfloppy diskettes. Rarely, also used of (paper) disk
envelopes. Unlike the write protect tab, the condom (when left on)
not only impedes the practice of {SEX} but has also been shown
to have a high failure rate as drive mechanisms attempt to access
the disk --- and can even fatally frustrate insertion. 2. The
protective cladding on a {light pipe}.
:confuser: n. Common soundalike slang for `computer'. Usually
encountered in compounds such as `confuser room', `personal
confuser', `confuser guru'. Usage: silly.
:connector conspiracy: [probably came into prominence with the
appearance of the KL-10 (one model of the {PDP-10}), none of
whose connectors matched anything else] n. The tendency of
manufacturers (or, by extension, programmers or purveyors of
anything) to come up with new products that don't fit together
with the old stuff, thereby making you buy either all new stuff or
expensive interface devices. The KL-10 Massbus connector was
actually *patented* by DEC, which reputedly refused to license
the design and thus effectively locked third parties out of
competition for the lucrative Massbus peripherals market. This is
a source of never-ending frustration for the diehards who maintain
older PDP-10 or VAX systems. Their CPUs work fine, but they are
stuck with dying, obsolescent disk and tape drives with low
capacity and high power requirements.
(A closely related phenomenon, with a slightly different intent, is
the habit manufacturers have of inventing new screw heads so that
only Designated Persons, possessing the magic screwdrivers, can
remove covers and make repairs or install options. The Apple
Macintosh takes this one step further, requiring not only a hex
wrench but a specialized case-cracking tool to open the box.)
In these latter days of open-systems computing this term has fallen
somewhat into disuse, to be replaced by the observation that
"Standards are great! There are so *many* of them to choose
from!" Compare {backward combatability}.
:cons: /konz/ or /kons/ [from LISP] 1. vt. To add a new element
to a specified list, esp. at the top. "OK, cons picking a
replacement for the console TTY onto the agenda." 2. `cons up':
vt. To synthesize from smaller pieces: "to cons up an example".
In LISP itself, `cons' is the most fundamental operation for
building structures. It takes any two objects and returns a
`dot-pair' or two-branched tree with one object hanging from each
branch. Because the result of a cons is an object, it can be used
to build binary trees of any shape and complexity. Hackers think
of it as a sort of universal constructor, and that is where the
jargon meanings spring from.
:considered harmful: adj. Edsger W. Dijkstra's note in the
March 1968 `Communications of the ACM', "Goto Statement
Considered Harmful", fired the first salvo in the structured
programming wars. Amusingly, the ACM considered the resulting
acrimony sufficiently harmful that it will (by policy) no longer
print an article taking so assertive a position against a coding
practice. In the ensuing decades, a large number of both serious
papers and parodies have borne titles of the form "X
considered Y". The structured-programming wars eventually blew
over with the realization that both sides were wrong, but use of
such titles has remained as a persistent minor in-joke (the
`considered silly' found at various places in this lexicon is
related).
:console:: n. 1. The operator's station of a {mainframe}. In
times past, this was a privileged location that conveyed godlike
powers to anyone with fingers on its keys. Under UNIX and other
modern timesharing OSes, such privileges are guarded by passwords
instead, and the console is just the {tty} the system was booted
from. Some of the mystique remains, however, and it is traditional
for sysadmins to post urgent messages to all users from the console
(on UNIX, /dev/console). 2. On microcomputer UNIX boxes, the main
screen and keyboard (as opposed to character-only terminals talking
to a serial port). Typically only the console can do real graphics
or run {X}. See also {CTY}.
:console jockey: n. See {terminal junkie}.
:content-free: [by analogy with techspeak `context-free'] adj.
Used of a message that adds nothing to the recipient's knowledge.
Though this adjective is sometimes applied to {flamage}, it more
usually connotes derision for communication styles that exalt form
over substance or are centered on concerns irrelevant to the
subject ostensibly at hand. Perhaps most used with reference to
speeches by company presidents and other professional manipulators.
"Content-free? Uh...that's anything printed on glossy
paper." See also {four-color glossies}. "He gave a talk on
the implications of electronic networks for postmodernism and the
fin-de-siecle aesthetic. It was content-free."
:control-C: vi. 1. "Stop whatever you are doing." From the
interrupt character used on many operating systems to abort a
running program. Considered silly. 2. interj. Among BSD UNIX
hackers, the canonical humorous response to "Give me a break!"
:control-O: vi. "Stop talking." From the character used on some
operating systems to abort output but allow the program to keep on
running. Generally means that you are not interested in hearing
anything more from that person, at least on that topic; a standard
response to someone who is flaming. Considered silly. Compare
{control-S}.
:control-Q: vi. "Resume." From the ASCII DC1 or {XON}
character (the pronunciation /X-on/ is therefore also used), used
to undo a previous {control-S}.
:control-S: vi. "Stop talking for a second." From the ASCII DC3
or XOFF character (the pronunciation /X-of/ is therefore also
used). Control-S differs from {control-O} in that the person is
asked to stop talking (perhaps because you are on the phone) but
will be allowed to continue when you're ready to listen to him ---
as opposed to control-O, which has more of the meaning of
"Shut up." Considered silly.
:Conway's Law: prov. The rule that the organization of the software and
the organization of the software team will be congruent; originally
stated as "If you have four groups working on a compiler, you'll
get a 4-pass compiler".
This was originally promulgated by Melvin Conway, an early
proto-hacker who wrote an assembler for the Burroughs 220 called
SAVE. The name `SAVE' didn't stand for anything; it was just that
you lost fewer card decks and listings because they all had SAVE
written on them.
:cookbook: [from amateur electronics and radio] n. A book of small
code segments that the reader can use to do various {magic}
things in programs. One current example is the `{PostScript}
Language Tutorial and Cookbook' by Adobe Systems, Inc
(Addison-Wesley, ISBN 0-201-10179-3) which has recipes for things
like wrapping text around arbitrary curves and making 3D fonts.
Cookbooks, slavishly followed, can lead one into {voodoo
programming}, but are useful for hackers trying to {monkey up}
small programs in unknown languages. This is analogous to the role
of phrasebooks in human languages.
:cooked mode: [UNIX] n. The normal character-input mode, with
interrupts enabled and with erase, kill and other special-character
interpretations done directly by the tty driver. Oppose {raw
mode}, {rare mode}. This is techspeak under UNIX but jargon
elsewhere; other operating systems often have similar mode
distinctions, and the raw/rare/cooked way of describing them has
spread widely along with the C language and other UNIX exports.
Most generally, `cooked mode' may refer to any mode of a
system that does extensive preprocessing before presenting data to
a program.
:cookie: n. A handle, transaction ID, or other token of agreement
between cooperating programs. "I give him a packet, he gives me
back a cookie." The claim check you get from a dry-cleaning shop
is a perfect mundane example of a cookie; the only thing it's
useful for is to relate a later transaction to this one (so you get
the same clothes back). Compare {magic cookie}; see also
{fortune cookie}.
:cookie bear: n. Syn. {cookie monster}.
:cookie file: n. A collection of {fortune cookie}s in a format
that facilitates retrieval by a fortune program. There are several
different ones in public distribution, and site admins often
assemble their own from various sources including this lexicon.
:cookie monster: [from "Sesame Street"] n. Any of a family of
early (1970s) hacks reported on {{TOPS-10}}, {{ITS}}, {{Multics}},
and elsewhere that would lock up either the victim's terminal (on a
time-sharing machine) or the {{console}} (on a batch
{mainframe}), repeatedly demanding "I WANT A COOKIE". The
required responses ranged in complexity from "COOKIE" through
"HAVE A COOKIE" and upward. See also {wabbit}.
:copious free time: [Apple; orig. fr. the intro to Tom Lehrer's
song "It Makes A Fellow Proud To Be A Soldier"] n. 1. [used
ironically to indicate the speaker's lack of the quantity in
question] A mythical schedule slot for accomplishing tasks held to
be unlikely or impossible. Sometimes used to indicate that the
speaker is interested in accomplishing the task, but believes that
the opportunity will not arise. "I'll implement the automatic
layout stuff in my copious free time." 2. [Archly] Time reserved
for bogus or otherwise idiotic tasks, such as implementation of
{chrome}, or the stroking of {suit}s. "I'll get back to him
on that feature in my copious free time."
:copper: n. Conventional electron-carrying network cable with a
core conductor of copper --- or aluminum! Opposed to {light
pipe} or, say, a short-range microwave link.
:copy protection: n. A class of (occasionally clever) methods for
preventing incompetent pirates from stealing software and
legitimate customers from using it. Considered silly.
:copybroke: /ko'pee-brohk/ adj. 1. [play on `copyright'] Used
to describe an instance of a copy-protected program that has been
`broken'; that is, a copy with the copy-protection scheme
disabled. Syn. {copywronged}. 2. Copy-protected software
which is unusable because of some bit-rot or bug that has confused
the anti-piracy check.
:copyleft: /kop'ee-left/ [play on `copyright'] n. 1. The
copyright notice (`General Public License') carried by {GNU}
{EMACS} and other Free Software Foundation software, granting reuse
and reproduction rights to all comers (but see also {General
Public Virus}). 2. By extension, any copyright notice intended to
achieve similar aims.
:copywronged: /ko'pee-rongd/ [play on `copyright'] adj. Syn. for
{copybroke}.
:core: n. Main storage or RAM. Dates from the days of ferrite-core
memory; now archaic as techspeak most places outside IBM, but also
still used in the UNIX community and by old-time hackers or those
who would sound like them. Some derived idioms are quite current;
`in core', for example, means `in memory' (as opposed to `on
disk'), and both {core dump} and the `core image' or `core
file' produced by one are terms in favor. Commonwealth hackish
prefers {store}.
:core cancer: n. A process which exhibits a slow but inexorable
resource {leak} --- like a cancer, it kills by crowding out
productive `tissue'.
:core dump: n. [common {Iron Age} jargon, preserved by UNIX]
1. [techspeak] A copy of the contents of {core}, produced when a
process is aborted by certain kinds of internal error. 2. By
extension, used for humans passing out, vomiting, or registering
extreme shock. "He dumped core. All over the floor. What a
mess." "He heard about X and dumped core." 3. Occasionally
used for a human rambling on pointlessly at great length; esp. in
apology: "Sorry, I dumped core on you". 4. A recapitulation of
knowledge (compare {bits}, sense 1). Hence, spewing all one
knows about a topic (syn. {brain dump}), esp. in a lecture or
answer to an exam question. "Short, concise answers are better
than core dumps" (from the instructions to an exam at Columbia).
See {core}.
:core leak: n. Syn. {memory leak}.
:Core Wars: n. A game between `assembler' programs in a
simulated machine, where the objective is to kill your opponent's
program by overwriting it. Popularized by A. K. Dewdney's column
in `Scientific American' magazine, this was actually
devised by Victor Vyssotsky, Robert Morris, and Dennis Ritchie in
the early 1960s (their original game was called `Darwin' and ran on
a PDP-1 at Bell Labs). See {core}.
:corge: /korj/ [originally, the name of a cat] n. Yet another
{metasyntactic variable}, invented by Mike Gallaher and propagated
by the {GOSMACS} documentation. See {grault}.
:cosmic rays: n. Notionally, the cause of {bit rot}. However, this is
a semi-independent usage that may be invoked as a humorous way to
{handwave} away any minor {randomness} that doesn't seem worth the
bother of investigating. "Hey, Eric --- I just got a burst of
garbage on my {tube}, where did that come from?" "Cosmic rays, I
guess." Compare {sunspots}, {phase of the moon}. The British seem
to prefer the usage `cosmic showers'; `alpha particles' is also
heard, because stray alpha particles passing through a memory chip
can cause single-bit errors (this becomes increasingly more likely
as memory sizes and densities increase).
Factual note: Alpha particles cause bit rot, cosmic rays do not
(except occasionally in spaceborne computers). Intel could not
explain random bit drops in their early chips, and one hypothesis
was cosmic rays. So they created the World's Largest Lead Safe,
using 25 tons of the stuff, and used two identical boards for
testing. One was placed in the safe, one outside. The hypothesis
was that if cosmic rays were causing the bit drops, they should see
a statistically significant difference between the error rates on
the two boards. They did not observe such a difference. Further
investigation demonstrated conclusively that the bit drops were due
to alpha particle emissions from thorium (and to a much lesser
degree uranium) in the encapsulation material. Since it is
impossible to eliminate these radioactives (they are uniformly
distributed through the earth's crust, with the statistically
insignificant exception of uranium lodes) it became obvious that
you have to design memories to withstand these hits.
:cough and die: v. Syn. {barf}. Connotes that the program is
throwing its hands up by design rather than because of a bug or
oversight. "The parser saw a control-A in its input where it was
looking for a printable, so it coughed and died." Compare
{die}, {die horribly}.
:cowboy: [Sun, from William Gibson's {cyberpunk} SF] n. Synonym
for {hacker}. It is reported that at Sun this word is often
said with reverence.
:CP/M:: /C-P-M/ n. [Control Program for Microcomputers] An early
microcomputer {OS} written by hacker Gary Kildall for 8080- and
Z80-based machines, very popular in the late 1970s but virtually
wiped out by MS-DOS after the release of the IBM PC in 1981.
Legend has it that Kildall's company blew its chance to write the
OS for the IBM PC because Kildall decided to spend a day IBM's reps
wanted to meet with him enjoying the perfect flying weather in his
private plane. Many of CP/M's features and conventions strongly
resemble those of early DEC operating systems such as
{{TOPS-10}}, OS/8, RSTS, and RSX-11. See {{MS-DOS}},
{operating system}.
:CPU Wars: /C-P-U worz/ n. A 1979 large-format comic by Chas
Andres chronicling the attempts of the brainwashed androids of IPM
(Impossible to Program Machines) to conquer and destroy the
peaceful denizens of HEC (Human Engineered Computers). This rather
transparent allegory featured many references to {ADVENT} and
the immortal line "Eat flaming death, minicomputer mongrels!"
(uttered, of course, by an IPM stormtrooper). It is alleged that
the author subsequently received a letter of appreciation on IBM
company stationery from the head of IBM's Thomas J. Watson Research
Laboratories (then, as now, one of the few islands of true
hackerdom in the IBM archipelago). The lower loop of the B in the
IBM logo, it is said, had been carefully whited out. See {eat
flaming death}.
:crack root: v. To defeat the security system of a UNIX machine and
gain {root} privileges thereby; see {cracking}.
:cracker: n. One who breaks security on a system. Coined ca. 1985
by hackers in defense against journalistic misuse of {hacker}
(q.v., sense 8). An earlier attempt to establish `worm' in this
sense around 1981--82 on USENET was largely a failure.
Both these neologisms reflected a strong revulsion against the
theft and vandalism perpetrated by cracking rings. While it is
expected that any real hacker will have done some playful cracking
and knows many of the basic techniques, anyone past {larval
stage} is expected to have outgrown the desire to do so.
Thus, there is far less overlap between hackerdom and crackerdom
than the {mundane} reader misled by sensationalistic journalism
might expect. Crackers tend to gather in small, tight-knit, very
secretive groups that have little overlap with the huge, open
poly-culture this lexicon describes; though crackers often like to
describe *themselves* as hackers, most true hackers consider
them a separate and lower form of life.
Ethical considerations aside, hackers figure that anyone who can't
imagine a more interesting way to play with their computers than
breaking into someone else's has to be pretty {losing}. Some
other reasons crackers are looked down on are discussed in the
entries on {cracking} and {phreaking}. See also
{samurai}, {dark-side hacker}, and {hacker ethic,
the}.
:cracking: n. The act of breaking into a computer system; what a
{cracker} does. Contrary to widespread myth, this does not
usually involve some mysterious leap of hackerly brilliance, but
rather persistence and the dogged repetition of a handful of fairly
well-known tricks that exploit common weaknesses in the security of
target systems. Accordingly, most crackers are only mediocre
hackers.
:crank: [from automotive slang] vt. Verb used to describe the
performance of a machine, especially sustained performance. "This
box cranks (or, cranks at) about 6 megaflops, with a burst mode
of twice that on vectorized operations."
:crash: 1. n. A sudden, usually drastic failure. Most often said
of the {system} (q.v., sense 1), esp. of magnetic disk drives
(the term originally described what happened when the air gap of a
Winchester disk collapses). "Three {luser}s lost their files
in last night's disk crash." A disk crash that involves 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',
whereas the term `system crash' usually, though not always,
implies that the operating system or other software was at fault.
2. v. To fail suddenly. "Has the system just crashed?"
"Something crashed the OS!" See {down}. 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." 3. vi. Sometimes said of people hitting the
sack after a long {hacking run}; see {gronk out}.
Comments
Log in to leave a comment.
The Jargon File, Version 2.9.10, 01 Jul 1992Chapter V: Rare: book (3)
0%34 min left in chapter