The Jargon File, Version 4.2.2, 20 Aug 2000
Chapter 9
A bit is said to be `set' if its value is true or 1, and `reset' or `clear' if its value is false or 0. One speaks of setting and clearing bits. To toggle or `invert' a bit is to change it, either from 0 to 1 or from 1 to 0. See also flag, trit, mode bit.
The term `bit' first appeared in print in the computer-science sense in a 1948 paper by information theorist Claude Shannon, and was there credited to the early computer scientist John Tukey (who also seems to have coined the term `software'). Tukey records that `bit' evolved over a lunch table as a handier alternative to `bigit' or `binit', at a conference in the winter of 1943-44.
Node:bit bang, Next:bit bashing, Previous:bit, Up:= B =
bit bang n.
Transmission of data on a serial line, when accomplished by rapidly tweaking a single output bit, in software, at the appropriate times. The technique is a simple loop with eight OUT and SHIFT instruction pairs for each byte. Input is more interesting. And full duplex (doing input and output at the same time) is one way to separate the real hackers from the wannabees.
Bit bang was used on certain early models of Prime computers, presumably when UARTs were too expensive, and on archaic Z80 micros with a Zilog PIO but no SIO. In an interesting instance of the cycle of reincarnation, this technique returned to use in the early 1990s on some RISC architectures because it consumes such an infinitesimal part of the processor that it actually makes sense not to have a UART. Compare cycle of reincarnation.
Node:bit bashing, Next:bit bucket, Previous:bit bang, Up:= B =
bit bashing n.
(alt. `bit diddling' or bit twiddling) Term used to describe any of several kinds of low-level programming characterized by manipulation of bit, flag, nybble, and other smaller-than-character-sized pieces of data; these include low-level device control, encryption algorithms, checksum and error-correcting codes, hash functions, some flavors of graphics programming (see bitblt), and assembler/compiler code generation. May connote either tedium or a real technical challenge (more usually the former). "The command decoding for the new tape driver looks pretty solid but the bit-bashing for the control registers still has bugs." See also bit bang, mode bit.
Node:bit bucket, Next:bit decay, Previous:bit bashing, Up:= B =
bit bucket n.
[very common] 1. The universal data sink (originally, the mythical receptacle used to catch bits when they fall off the end of a register during a shift instruction). Discarded, lost, or destroyed data is said to have `gone to the bit bucket'. On Unix, often used for /dev/null. Sometimes amplified as `the Great Bit Bucket in the Sky'. 2. The place where all lost mail and news messages eventually go. The selection is performed according to Finagle's Law; important mail is much more likely to end up in the bit bucket than junk mail, which has an almost 100% probability of getting delivered. Routing to the bit bucket is automatically performed by mail-transfer agents, news systems, and the lower layers of the network. 3. The ideal location for all unwanted mail responses: "Flames about this article to the bit bucket." Such a request is guaranteed to overflow one's mailbox with flames. 4. Excuse for all mail that has not been sent. "I mailed you those figures last week; they must have landed in the bit bucket." Compare black hole.
This term is used purely in jest. It is based on the fanciful notion that bits are objects that are not destroyed but only misplaced. This appears to have been a mutation of an earlier term `bit box', about which the same legend was current; old-time hackers also report that trainees used to be told that when the CPU stored bits into memory it was actually pulling them `out of the bit box'. See also chad box.
Another variant of this legend has it that, as a consequence of the `parity preservation law', the number of 1 bits that go to the bit bucket must equal the number of 0 bits. Any imbalance results in bits filling up the bit bucket. A qualified computer technician can empty a full bit bucket as part of scheduled maintenance.
Node:bit decay, Next:bit rot, Previous:bit bucket, Up:= B =
bit decay n.
See bit rot. People with a physics background tend to prefer this variant for the analogy with particle decay. See also computron, quantum bogodynamics.
Node:bit rot, Next:bit twiddling, Previous:bit decay, Up:= B =
bit rot n.
[common] Also bit decay. Hypothetical disease the existence of which has been deduced from the observation that unused programs or features will often stop working after sufficient time has passed, even if `nothing has changed'. The theory explains that bits decay as if they were radioactive. As time passes, the contents of a file or the code in a program will become increasingly garbled.
There actually are physical processes that produce such effects (alpha particles generated by trace radionuclides in ceramic chip packages, for example, can change the contents of a computer memory unpredictably, and various kinds of subtle media failures can corrupt files in mass storage), but they are quite rare (and computers are built with error-detecting circuitry to compensate for them). The notion long favored among hackers that cosmic rays are among the causes of such events turns out to be a myth; see the cosmic rays entry for details.
The term software rot is almost synonymous. Software rot is the effect, bit rot the notional cause.
Node:bit twiddling, Next:bit-paired keyboard, Previous:bit rot, Up:= B =
bit twiddling n.
[very common] 1. (pejorative) An exercise in tuning (see tune) in which incredible amounts of time and effort go to produce little noticeable improvement, often with the result that the code becomes incomprehensible. 2. Aimless small modification to a program, esp. for some pointless goal. 3. Approx. syn. for bit bashing; esp. used for the act of frobbing the device control register of a peripheral in an attempt to get it back to a known state.
Node:bit-paired keyboard, Next:bitblt, Previous:bit twiddling, Up:= B =
bit-paired keyboard n.,obs.
(alt. `bit-shift keyboard') A non-standard keyboard layout that seems to have originated with the Teletype ASR-33 and remained common for several years on early computer equipment. The ASR-33 was a mechanical device (see EOU), so the only way to generate the character codes from keystrokes was by some physical linkage. The design of the ASR-33 assigned each character key a basic pattern that could be modified by flipping bits if the SHIFT or the CTRL key was pressed. In order to avoid making the thing even more of a kluge than it already was, the design had to group characters that shared the same basic bit pattern on one key.
Looking at the ASCII chart, we find:
high low bits bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 010 ! " # $ % & ' ( ) 011 0 1 2 3 4 5 6 7 8 9
This is why the characters !"#$%&'() appear where they do on a Teletype (thankfully, they didn't use shift-0 for space). The Teletype Model 33 was actually designed before ASCII existed, and was originally intended to use a code that contained these two rows:
low bits high 0000 0010 0100 0110 1000 1010 1100 1110 bits 0001 0011 0101 0111 1001 1011 1101 1111 10 ) ! bel # $ % wru & * ( " : ? _ , . 11 0 1 2 3 4 5 6 7 8 9 ' ; / - esc del
The result would have been something closer to a normal keyboard. But as it happened, Teletype had to use a lot of persuasion just to keep ASCII, and the Model 33 keyboard, from looking like this instead:
! " ? $ ' & - ( ) ; : * / , . 0 1 2 3 4 5 6 7 8 9 + ~ < > × |
Teletype's was not the weirdest variant of the QWERTY layout widely seen, by the way; that prize should probably go to one of several (differing) arrangements on IBM's even clunkier 026 and 029 card punches.
When electronic terminals became popular, in the early 1970s, there was no agreement in the industry over how the keyboards should be laid out. Some vendors opted to emulate the Teletype keyboard, while others used the flexibility of electronic circuitry to make their product look like an office typewriter. Either choice was supported by the ANSI computer keyboard standard, X4.14-1971, which referred to the alternatives as `logical bit pairing' and `typewriter pairing'. These alternatives became known as `bit-paired' and `typewriter-paired' keyboards. To a hacker, the bit-paired keyboard seemed far more logical -- and because most hackers in those days had never learned to touch-type, there was little pressure from the pioneering users to adapt keyboards to the typewriter standard.
The doom of the bit-paired keyboard was the large-scale introduction of the computer terminal into the normal office environment, where out-and-out technophobes were expected to use the equipment. The `typewriter-paired' standard became universal, X4.14 was superseded by X4.23-1982, `bit-paired' hardware was quickly junked or relegated to dusty corners, and both terms passed into disuse.
However, in countries without a long history of touch typing, the argument against the bit-paired keyboard layout was weak or nonexistent. As a result, the standard Japanese keyboard, used on PCs, Unix boxen etc. still has all of the !"#$%&'() characters above the numbers in the ASR-33 layout.
Node:bitblt, Next:BITNET, Previous:bit-paired keyboard, Up:= B =
bitblt /bit'blit/ n.
[from BLT, q.v.] 1. [common] Any of a family of closely related algorithms for moving and copying rectangles of bits between main and display memory on a bit-mapped device, or between two areas of either main or display memory (the requirement to do the Right Thing in the case of overlapping source and destination rectangles is what makes BitBlt tricky). 2. Synonym for blit or BLT. Both uses are borderline techspeak.
Node:BITNET, Next:bits, Previous:bitblt, Up:= B =
BITNET /bit'net/ n., obs.
[acronym: Because It's Time NETwork] Everybody's least favorite piece of the network (see the network) - until AOL happened. The BITNET hosts were a collection of IBM dinosaurs and VAXen (the latter with lobotomized comm hardware) that communicate using 80-character EBCDIC card images (see eighty-column mind); thus, they tend to mangle the headers and text of third-party traffic from the rest of the ASCII/RFC-822 world with annoying regularity. BITNET was also notorious as the apparent home of B1FF. By 1995 it had, much to everyone's relief, been obsolesced and absorbed into the Internet. Unfortunately, around this time we also got AOL.
Node:bits, Next:bitty box, Previous:BITNET, Up:= B =
bits pl.n.
1. Information. Examples: "I need some bits about file formats." ("I need to know about file formats.") Compare core dump, sense 4. 2. Machine-readable representation of a document, specifically as contrasted with paper: "I have only a photocopy of the Jargon File; does anyone know where I can get the bits?". See softcopy, source of all good bits See also bit.
Node:bitty box, Next:bixen, Previous:bits, Up:= B =
bitty box /bit'ee boks/ n.
1. A computer sufficiently small, primitive, or incapable as to cause a hacker acute claustrophobia at the thought of developing software on or for it. Especially used of small, obsolescent, single-tasking-only personal machines such as the Atari 800, Osborne, Sinclair, VIC-20, TRS-80, or IBM PC. 2. [Pejorative] More generally, the opposite of `real computer' (see Get a real computer!). See also mess-dos, toaster, and toy.
Node:bixen, Next:bixie, Previous:bitty box, Up:= B =
bixen pl.n.
Users of BIX (the BIX Information eXchange, formerly the Byte Information eXchange). Parallels other plurals like boxen, VAXen, oxen.
Node:bixie, Next:black art, Previous:bixen, Up:= B =
bixie /bik'see/ n.
Variant emoticons used on BIX (the BIX Information eXchange). The most common (smiley) bixie is <@_@>, representing two cartoon eyes and a mouth. These were originally invented in an SF fanzine called APA-L and imported to BIX by one of the earliest users.
Node:black art, Next:black hole, Previous:bixie, Up:= B =
black art n.
[common] A collection of arcane, unpublished, and (by implication) mostly ad-hoc techniques developed for a particular application or systems area (compare black magic). VLSI design and compiler code optimization were (in their beginnings) considered classic examples of black art; as theory developed they became deep magic, and once standard textbooks had been written, became merely heavy wizardry. The huge proliferation of formal and informal channels for spreading around new computer-related technologies during the last twenty years has made both the term `black art' and what it describes less common than formerly. See also voodoo programming.
Node:black hole, Next:black magic, Previous:black art, Up:= B =
black hole n.,vt.
[common] What data (a piece of email or netnews, or a stream of TCP/IP packets) has fallen into if it disappears mysteriously between its origin and destination sites (that is, without returning a bounce message). "I think there's a black hole at _foovax_!" conveys suspicion that site _foovax_ has been dropping a lot of stuff on the floor lately (see drop on the floor). The implied metaphor of email as interstellar travel is interesting in itself. Readily verbed as `blackhole': "That router is blackholing IDP packets." Compare bit bucket and see RBL.
Node:black magic, Next:Black Screen of Death, Previous:black hole, Up:= B =
black magic n.
[common] A technique that works, though nobody really understands why. More obscure than voodoo programming, which may be done by cookbook. Compare also black art, deep magic, and magic number (sense 2).
Node:Black Screen of Death, Next:Black Thursday, Previous:black magic, Up:= B =
Black Screen of Death n.
[prob. related to the Floating Head of Death in a famous "Far Side" cartoon.] A failure mode of Microsloth Windows. On an attempt to launch a DOS box, a networked Windows system not uncommonly blanks the screen and locks up the PC so hard that it requires a cold boot to recover. This unhappy phenomenon is known as The Black Screen of Death. See also Blue Screen of Death, which has become rather more common.
Node:Black Thursday, Next:blammo, Previous:Black Screen of Death, Up:= B =
Black Thursday n.
February 8th, 1996 - the day of the signing into law of the CDA, so called by analogy with the catastrophic "Black Friday" in 1929 that began the Great Depression.
Node:blammo, Next:blargh, Previous:Black Thursday, Up:= B =
blammo v.
[Oxford Brookes University and alumni, UK] To forcibly remove someone from any interactive system, especially talker systems. The operators, who may remain hidden, may `blammo' a user who is misbehaving. Very similar to MIT gun; in fact, the `blammo-gun' is a notional device used to `blammo' someone. While in actual fact the only incarnation of the blammo-gun is the command used to forcibly eject a user, operators speak of different levels of blammo-gun fire; e.g., a blammo-gun to `stun' will temporarily remove someone, but a blammo-gun set to `maim' will stop someone coming back on for a while.
Node:blargh, Next:blast, Previous:blammo, Up:= B =
blargh /blarg/ n.
[MIT; now common] The opposite of ping, sense 5; an exclamation indicating that one has absorbed or is emitting a quantum of unhappiness. Less common than ping.
Node:blast, Next:blat, Previous:blargh, Up:= B =
blast 1. v.,n.
Synonym for BLT, used esp. for large data sends over a network or comm line. Opposite of snarf. Usage: uncommon. The variant `blat' has been reported. 2. vt. [HP/Apollo] Synonymous with nuke (sense 3). Sometimes the message Unable to kill all processes. Blast them (y/n)? would appear in the command window upon logout.
Node:blat, Next:bletch, Previous:blast, Up:= B =
blat n.
1. Syn. blast, sense 1. 2. See thud.
Node:bletch, Next:bletcherous, Previous:blat, Up:= B =
bletch /blech/ interj.
[very common; from Yiddish/German `brechen', to vomit, poss. via comic-strip exclamation `blech'] Term of disgust. Often used in "Ugh, bletch". Compare barf.
Node:bletcherous, Next:blink, Previous:bletch, Up:= B =
bletcherous /blech'*-r*s/ adj.
Disgusting in design or function; esthetically unappealing. This word is seldom used of people. "This keyboard is bletcherous!" (Perhaps the keys don't work very well, or are misplaced.) See losing, cretinous, bagbiting, bogus, and random. The term bletcherous applies to the esthetics of the thing so described; similarly for cretinous. By contrast, something that is `losing' or `bagbiting' may be failing to meet objective criteria. See also bogus and random, which have richer and wider shades of meaning than any of the above.
Node:blink, Next:blinkenlights, Previous:bletcherous, Up:= B =
blink vi.,n.
To use a navigator or off-line message reader to minimize time spent on-line to a commercial network service (a necessity in many places outside the U.S. where the telecoms monopolies charge per-minute for local calls). This term attained wide use in the UK, but is rare or unknown in the US.
Node:blinkenlights, Next:blit, Previous:blink, Up:= B =
blinkenlights /blink'*n-li:tz/ n.
[common] Front-panel diagnostic lights on a computer, esp. a dinosaur. Now that dinosaurs are rare, this term usually refers to status lights on a modem, network hub, or the like.
This term derives from the last word of the famous blackletter-Gothic sign in mangled pseudo-German that once graced about half the computer rooms in the English-speaking world. One version ran in its entirety as follows:
ACHTUNG! ALLES LOOKENSPEEPERS!
Das computermachine ist nicht fuer gefingerpoken und mittengrabben. Ist easy schnappen der springenwerk, blowenfusen und poppencorken mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen. Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das pockets muss; relaxen und watchen das blinkenlichten.
This silliness dates back at least as far as 1959 at Stanford University and had already gone international by the early 1960s, when it was reported at London University's ATLAS computing site. There are several variants of it in circulation, some of which actually do end with the word `blinkenlights'.
In an amusing example of turnabout-is-fair-play, German hackers have developed their own versions of the blinkenlights poster in fractured English, one of which is reproduced here:
ATTENTION
This room is fullfilled mit special electronische equippment. Fingergrabbing and pressing the cnoeppkes from the computers is allowed for die experts only! So all the "lefthanders" stay away and do not disturben the brainstorming von here working intelligencies. Otherwise you will be out thrown and kicked anderswhere! Also: please keep still and only watchen astaunished the blinkenlights.
See also geef.
Old-time hackers sometimes get nostalgic for blinkenlights because they were so much more fun to look at than a blank panel. Sadly, very few computers still have them (the three LEDs on a PC keyboard certainly don't count). The obvious reasons (cost of wiring, cost of front-panel cutouts, almost nobody needs or wants to interpret machine-register states on the fly anymore) are only part of the story. Another part of it is that radio-frequency leakage from the lamp wiring was beginning to be a problem as far back as transistor machines. But the most fundamental fact is that there are very few signals slow enough to blink an LED these days! With slow CPUs, you could watch the bus register or instruction counter tick, but at 33/66/150MHz it's all a blur.
Finally, a version updated for the Internet has been seen on _news.admin.net-abuse.email_:
ACHTUNG! ALLES LOOKENSPEEPERS!
Das Internet is nicht fuer gefingerclicken und giffengrabben. Ist easy droppenpacket der routers und overloaden der backbone mit der spammen und der me-tooen. Ist nicht fuer gewerken bei das dumpkopfen. Das mausklicken sichtseeren keepen das bandwit-spewin hans in das pockets muss; relaxen und watchen das cursorblinken.
This newest version partly reflects reports that the word `blinkenlights' is (in 1999) undergoing something of a revival in usage, but applied to networking equipment. The transmit and receive lights on routers, activity lights on switches and hubs, and other network equipment often blink in visually pleasing and seemingly coordinated ways. Although this is different in some ways from register readings, a tall stack of Cisco equipment or a 19-inch rack of ISDN terminals can provoke a similar feeling of hypnotic awe, especially in a darkened network operations center or server room.
Node:blit, Next:blitter, Previous:blinkenlights, Up:= B =
blit /blit/ vt.
1. [common] To copy a large array of bits from one part of a computer's memory to another part, particularly when the memory is being used to determine what is shown on a display screen. "The storage allocator picks through the table and copies the good parts up into high memory, and then blits it all back down again." See bitblt, BLT, dd, cat, blast, snarf. More generally, to perform some operation (such as toggling) on a large array of bits while moving them. 2. [historical, rare] Sometimes all-capitalized as `BLIT': an early experimental bit-mapped terminal designed by Rob Pike at Bell Labs, later commercialized as the AT&T 5620. (The folk etymology from `Bell Labs Intelligent Terminal' is incorrect. Its creators liked to claim that "Blit" stood for the Bacon, Lettuce, and Interactive Tomato.)
Node:blitter, Next:blivet, Previous:blit, Up:= B =
blitter /blit'r/ n.
[common] A special-purpose chip or hardware system built to perform blit operations, esp. used for fast implementation of bit-mapped graphics. The Commodore Amiga and a few other micros have these, but since 1990 the trend has been away from them (however, see cycle of reincarnation). Syn. raster blaster.
Node:blivet, Next:bloatware, Previous:blitter, Up:= B =
blivet /bliv'*t/ n.
[allegedly from a World War II military term meaning "ten pounds of manure in a five-pound bag"] 1. An intractable problem. 2. A crucial piece of hardware that can't be fixed or replaced if it breaks. 3. A tool that has been hacked over by so many incompetent programmers that it has become an unmaintainable tissue of hacks. 4. An out-of-control but unkillable development effort. 5. An embarrassing bug that pops up during a customer demo. 6. In the subjargon of computer security specialists, a denial-of-service attack performed by hogging limited resources that have no access controls (for example, shared spool space on a multi-user system).
This term has other meanings in other technical cultures; among experimental physicists and hardware engineers of various kinds it seems to mean any random object of unknown purpose (similar to hackish use of frob). It has also been used to describe an amusing trick-the-eye drawing resembling a three-pronged fork that appears to depict a three-dimensional object until one realizes that the parts fit together in an impossible way.
Node:bloatware, Next:BLOB, Previous:blivet, Up:= B =
bloatware n.
[common] Software that provides minimal functionality while requiring a disproportionate amount of diskspace and memory. Especially used for application and OS upgrades. This term is very common in the Windows/NT world. So is its cause.
Node:BLOB, Next:block, Previous:bloatware, Up:= B =
BLOB