The Jargon File, Version 2.9.10, 01 Jul 1992

Part 6

Chapter 6 3,293 words Public domain Markdown

:beam: [from Star Trek Classic's "Beam me up, Scotty!"] vt. To transfer {softcopy} of a file electronically; most often in combining forms such as `beam me a copy' or `beam that over to his site'. Compare {blast}, {snarf}, {BLT}.

:beanie key: [Mac users] n. See {command key}.

:beep: n.,v. Syn. {feep}. This term seems to be preferred among micro hobbyists.

:beige toaster: n. A Macintosh. See {toaster}; compare {Macintrash}, {maggotbox}.

:bells and whistles: [by analogy with the toyboxes on theater organs] n. Features added to a program or system to make it more {flavorful} from a hacker's point of view, without necessarily adding to its utility for its primary function. Distinguished from {chrome}, which is intended to attract users. "Now that we've got the basic program working, let's go back and add some bells and whistles." No one seems to know what distinguishes a bell from a whistle.

:bells, whistles, and gongs: n. A standard elaborated form of {bells and whistles}; typically said with a pronounced and ironic accent on the `gongs'.

:benchmark: [techspeak] n. An inaccurate measure of computer performance. "In the computer industry, there are three kinds of lies: lies, damn lies, and benchmarks." Well-known ones include Whetstone, Dhrystone, Rhealstone (see {h}), the Gabriel LISP benchmarks (see {gabriel}), the SPECmark suite, and LINPACK. See also {machoflops}, {MIPS}, {smoke and mirrors}.

:Berkeley Quality Software: adj. (often abbreviated `BQS') Term used in a pejorative sense to refer to software that was apparently created by rather spaced-out hackers late at night to solve some unique problem. It usually has nonexistent, incomplete, or incorrect documentation, has been tested on at least two examples, and core dumps when anyone else attempts to use it. This term was frequently applied to early versions of the `dbx(1)' debugger. See also {Berzerkeley}.

:berklix: /berk'liks/ n.,adj. [contraction of `Berkeley UNIX'] See {BSD}. Not used at Berkeley itself. May be more common among {suit}s attempting to sound like cognoscenti than among hackers, who usually just say `BSD'.

:berserking: vi. A {MUD} term meaning to gain points *only* by killing other players and mobiles (non-player characters). Hence, a Berserker-Wizard is a player character that has achieved enough points to become a wizard, but only by killing other characters. Berserking is sometimes frowned upon because of its inherently antisocial nature, but some MUDs have a `berserker mode' in which a player becomes *permanently* berserk, can never flee from a fight, cannot use magic, gets no score for treasure, but does get double kill points. "Berserker wizards can seriously damage your elf!"

:Berzerkeley: /b*r-zer'klee/ [from `berserk', via the name of a now-deceased record label] n. Humorous distortion of `Berkeley' used esp. to refer to the practices or products of the {BSD} UNIX hackers. See {software bloat}, {Missed'em-five}, {Berkeley Quality Software}.

Mainstream use of this term in reference to the cultural and political peculiarities of UC Berkeley as a whole has been reported from as far back as the 1960s.

:beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n. 1. In the {Real World}, software often goes through two stages of testing: Alpha (in-house) and Beta (out-house?). Software is said to be `in beta'. 2. Anything that is new and experimental is in beta. "His girlfriend is in beta" means that he is still testing for compatibility and reserving judgment. 3. Beta software is notoriously buggy, so `in beta' connotes flakiness.

Historical note: More formally, to beta-test is to test a pre-release (potentially unreliable) version of a piece of software by making it available to selected customers and users. This term derives from early 1960s terminology for product cycle checkpoints, first used at IBM but later standard throughout the industry. `Alpha Test' was the unit, module, or component test phase; `Beta Test' was initial system test. These themselves came from earlier A- and B-tests for hardware. The A-test was a feasibility and manufacturability evaluation done before any commitment to design and development. The B-test was a demonstration that the engineering model functioned as specified. The C-test (corresponding to today's beta) was the B-test performed on early samples of the production design.

:BFI: /B-F-I/ n. See {brute force and ignorance}. Also encountered in the variants `BFMI', `brute force and *massive* ignorance' and `BFBI' `brute force and bloody ignorance'.

:bible: n. 1. One of a small number of fundamental source books such as {Knuth} and {K&R}. 2. The most detailed and authoritative reference for a particular language, operating system, or other complex software system.

:BiCapitalization: n. The act said to have been performed on trademarks (such as {PostScript}, NeXT, {NeWS}, VisiCalc, FrameMaker, TK!solver, EasyWriter) that have been raised above the ruck of common coinage by nonstandard capitalization. Too many {marketroid} types think this sort of thing is really cute, even the 2,317th time they do it. Compare {studlycaps}.

:BIFF: /bif/ [USENET] n. The most famous {pseudo}, and the prototypical {newbie}. Articles from BIFF are characterized by all uppercase letters sprinkled liberally with bangs, typos, `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ HE"S A K00L DOOD AN HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE THIS!!!), use (and often misuse) of fragments of {talk mode} abbreviations, a long {sig block} (sometimes even a {doubled sig}), and unbounded na"ivet'e. BIFF posts articles using his elder brother's VIC-20. BIFF's location is a mystery, as his articles appear to come from a variety of sites. However, {BITNET} seems to be the most frequent origin. The theory that BIFF is a denizen of BITNET is supported by BIFF's (unfortunately invalid) electronic mail address: [email protected].

:biff: /bif/ vt. To notify someone of incoming mail. From the BSD utility `biff(1)', which was in turn named after a friendly golden Labrador who used to chase frisbees in the halls at UCB while 4.2BSD was in development (it had a well-known habit of barking whenever the mailman came). No relation to {BIFF}.

:Big Gray Wall: n. What faces a {VMS} user searching for documentation. A full VMS kit comes on a pallet, the documentation taking up around 15 feet of shelf space before the addition of layered products such as compilers, databases, multivendor networking, and programming tools. Recent (since VMS version 5) DEC documentation comes with gray binders; under VMS version 4 the binders were orange (`big orange wall'), and under version 3 they were blue. See {VMS}. Often contracted to `Gray Wall'.

:big iron: n. Large, expensive, ultra-fast computers. Used generally of {number-crunching} supercomputers such as Crays, but can include more conventional big commercial IBMish mainframes. Term of approval; compare {heavy metal}, oppose {dinosaur}.

:Big Red Switch: [IBM] n. The power switch on a computer, esp. the `Emergency Pull' switch on an IBM {mainframe} or the power switch on an IBM PC where it really is large and red. "This !@%$% {bitty box} is hung again; time to hit the Big Red Switch." Sources at IBM report that, in tune with the company's passion for {TLA}s, this is often abbreviated as `BRS' (this has also become established on FidoNet and in the PC {clone} world). It is alleged that the emergency pull switch on an IBM 360/91 actually fired a non-conducting bolt into the main power feed; the BRSes on more recent machines physically drop a block into place so that they can't be pushed back in. People get fired for pulling them, especially inappropriately (see also {molly-guard}). Compare {power cycle}, {three-finger salute}, {120 reset}; see also {scram switch}.

:Big Room, the: n. The extremely large room with the blue ceiling and intensely bright light (during the day) or black ceiling with lots of tiny night-lights (during the night) found outside all computer installations. "He can't come to the phone right now, he's somewhere out in the Big Room."

:big win: n. Serendipity. "Yes, those two physicists discovered high-temperature superconductivity in a batch of ceramic that had been prepared incorrectly according to their experimental schedule. Small mistake; big win!" See {win big}.

:big-endian: [From Swift's `Gulliver's Travels' via the famous paper `On Holy Wars and a Plea for Peace' by Danny Cohen, USC/ISI IEN 137, dated April 1, 1980] adj. 1. Describes a computer architecture in which, within a given multi-byte numeric representation, the most significant byte has the lowest address (the word is stored `big-end-first'). Most processors, including the IBM 370 family, the {PDP-10}, the Motorola microprocessor families, and most of the various RISC designs current in mid-1991, are big-endian. See {little-endian}, {middle-endian}, {NUXI problem}. 2. An {{Internet address}} the wrong way round. Most of the world follows the Internet standard and writes email addresses starting with the name of the computer and ending up with the name of the country. In the U.K. the Joint Networking Team had decided to do it the other way round before the Internet domain standard was established; e.g., [email protected]. Most gateway sites have {ad-hockery} in their mailers to handle this, but can still be confused. In particular, the address above could be in the U.K. (domain uk) or Czechoslovakia (domain cs).

:bignum: /big'nuhm/ [orig. from MIT MacLISP] n. 1. [techspeak] A multiple-precision computer representation for very large integers. More generally, any very large number. "Have you ever looked at the United States Budget? There's bignums for you!" 2. [Stanford] In backgammon, large numbers on the dice are called `bignums', especially a roll of double fives or double sixes (compare {moby}, sense 4). See also {El Camino Bignum}.

Sense 1 may require some explanation. Most computer languages provide a kind of data called `integer', but such computer integers are usually very limited in size; usually they must be smaller than than 2^(31) (2,147,483,648) or (on a losing {bitty box}) 2^(15) (32,768). If you want to work with numbers larger than that, you have to use floating-point numbers, which are usually accurate to only six or seven decimal places. Computer languages that provide bignums can perform exact calculations on very large numbers, such as 1000! (the factorial of 1000, which is 1000 times 999 times 998 times ... times 2 times 1). For example, this value for 1000! was computed by the MacLISP system using bignums:

40238726007709377354370243392300398571937486421071 46325437999104299385123986290205920442084869694048 00479988610197196058631666872994808558901323829669 94459099742450408707375991882362772718873251977950 59509952761208749754624970436014182780946464962910 56393887437886487337119181045825783647849977012476 63288983595573543251318532395846307555740911426241 74743493475534286465766116677973966688202912073791 43853719588249808126867838374559731746136085379534 52422158659320192809087829730843139284440328123155 86110369768013573042161687476096758713483120254785 89320767169132448426236131412508780208000261683151 02734182797770478463586817016436502415369139828126 48102130927612448963599287051149649754199093422215 66832572080821333186116811553615836546984046708975 60290095053761647584772842188967964624494516076535 34081989013854424879849599533191017233555566021394 50399736280750137837615307127761926849034352625200 01588853514733161170210396817592151090778801939317 81141945452572238655414610628921879602238389714760 88506276862967146674697562911234082439208160153780 88989396451826324367161676217916890977991190375403 12746222899880051954444142820121873617459926429565 81746628302955570299024324153181617210465832036786 90611726015878352075151628422554026517048330422614 39742869330616908979684825901254583271682264580665 26769958652682272807075781391858178889652208164348 34482599326604336766017699961283186078838615027946 59551311565520360939881806121385586003014356945272 24206344631797460594682573103790084024432438465657 24501440282188525247093519062092902313649327349756 55139587205596542287497740114133469627154228458623 77387538230483865688976461927383814900140767310446 64025989949022222176590433990188601856652648506179 97023561938970178600408118897299183110211712298459 01641921068884387121855646124960798722908519296819 37238864261483965738229112312502418664935314397013 74285319266498753372189406942814341185201580141233 44828015051399694290153483077644569099073152433278 28826986460278986432113908350621709500259738986355 42771967428222487575867657523442202075736305694988 25087968928162753848863396909959826280956121450994 87170124451646126037902930912088908694202851064018 21543994571568059418727489980942547421735824010636 77404595741785160829230135358081840096996372524230 56085590370062427124341690900415369010593398383577 79394109700277534720000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 000000000000000000.

:bigot: n. A person who is religiously attached to a particular computer, language, operating system, editor, or other tool (see {religious issues}). Usually found with a specifier; thus, `cray bigot', `ITS bigot', `APL bigot', `VMS bigot', `Berkeley bigot'. True bigots can be distinguished from mere partisans or zealots by the fact that they refuse to learn alternatives even when the march of time and/or technology is threatening to obsolete the favored tool. It is said "You can tell a bigot, but you can't tell him much." Compare {weenie}.

:bit: [from the mainstream meaning and `Binary digIT'] n. 1. [techspeak] The unit of information; the amount of information obtained by asking a yes-or-no question for which the two outcomes are equally probable. 2. [techspeak] A computational quantity that can take on one of two values, such as true and false or 0 and 1. 3. A mental flag: a reminder that something should be done eventually. "I have a bit set for you." (I haven't seen you for a while, and I'm supposed to tell or ask you something.) 4. More generally, a (possibly incorrect) mental state of belief. "I have a bit set that says that you were the last guy to hack on EMACS." (Meaning "I think you were the last guy to hack on EMACS, and what I am about to say is predicated on this, so please stop me if this isn't true.")

"I just need one bit from you" is a polite way of indicating that you intend only a short interruption for a question that can presumably be answered yes or no.

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 1949, and seems to have been coined by early computer scientist John Tukey. Tukey records that it evolved over a lunch table as a handier alternative to `bigit' or `binit'.

:bit bang: n. Transmission of data on a serial line, when accomplished by rapidly tweaking a single output bit 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 {wannabee}s.

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 is now (1991) coming back into use on some RISC architectures because it consumes such an infinitesimal part of the processor that it actually makes sense not to have a UART.

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

:bit bucket: n. 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 ended 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.

:bit decay: n. See {bit rot}. People with a physics background tend to prefer this one for the analogy with particle decay. See also {computron}, {quantum bogodynamics}.

:bit rot: n. 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.

:bit twiddling: n. 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 has become 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.

: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 more of a Rube Goldberg 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). This 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. 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, `bit-paired' hardware was quickly junked or relegated to dusty corners, and both terms passed into disuse.